Джефф прав насчет ограничения API: вы не ограничены 100 вызовами API в месяц; это всего лишь количество бесплатных звонков, которые вы получаете в месяц.
Однако и отвечая на ваш вопрос: Да, можно вычислить несколько портретов. Если вы используете application/json
в качестве Content-Type, вы заметите, что включаете поле userid
для каждого элемента содержимого. Вы можете включать контент от разных авторов (userid
's), но вы не можете получить вывод в формате JSON, поскольку он поддерживает только одного автора. Вы можете использовать CSV API и получить несколько строк, по одной для каждого автора во входных данных.
Вот пример кода, который может помочь:
запросы на импорт, json
data = { "contentItems" : [
{
"userid" : "user1",
"id" : "uuid1.1",
"contenttype" : "text/plain",
"language" : "en",
"created" : 1393264847000,
"content": "some text"
},
{
"userid" : "user1",
"id" : "uuid1.2",
"contenttype" : "text/plain",
"language" : "en",
"created" : 1393263869000,
"content": "even more"
},
{
"userid" : "user2",
"id" : "uuid2",
"contenttype" : "text/plain",
"language" : "en",
"created" : 1394826985000,
"content": "this is a different author"
}
] }
response = requests.post(
"https://gateway.watsonplatform.net/personality-insights"+
"/api/v2/profile", # Or append: "?headers=True",
auth=("API_USERID", "API_PASSWORD"),
headers={"Content-Type": "application/json", "Accept": "text/csv"},
data = json.dumps(data)
)
print("HTTP %d:\n%s" % (response.status_code, response.content))
Два примечания к этому коду:
- запуск этого точного кода приведет к получению HTTP 400, поскольку он не соответствует минимальным требованиям к тексту: вам нужно заменить поля
content
своим текстом - больше текста!
- несколько элементов контента могут принадлежать одному автору - обратите внимание, что первые два выше принадлежат
user1
, а последний - user2
- если вы опустите заголовок
Accept: "text/csv"
, по умолчанию будет использоваться JSON API и будет возвращен HTTP 400: «найдено несколько авторов». Не забудьте использовать CSV API для нескольких авторов.
Таким образом, вы можете объединить нескольких авторов в один вызов API. Имейте в виду, что вам нужно оставаться ниже ограничения размера запроса (в настоящее время 20 МБ), поэтому вам просто нужно быть немного более осторожным.
person
herchu
schedule
12.06.2015