我正在使用Microsoft学术API的图形搜索方法使用以下查询检索论文信息:
POST https://westus.api.cognitive.microsoft.com/academic/v1.0/graph/search?mode=json
Content-Type: application/json
Host: westus.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: my-api-key
{
"path": "/paper",
"paper": {
"select": [
"PublishYear",
"CitationCount",
"ConferenceSeriesID",
"JournalID",
"AuthorIDs",
"AffiliationIDs",
"AuthorSequenceNumbers",
"OriginalAffiliations",
"NormalizedAffiliations",
"Keywords",
"FieldOfStudyIDs",
"ReferenceIDs",
"CitationIDs",
"OriginalTitle",
"NormalizedTitle",
"DOI",
"OriginalVenue",
"NormalizedVenue"
],
"type": "Paper",
"id": [2059999322, 1993355715, ...]
}
}
对于此查询,我收到以下三个响应之一:200 OK、500 内部错误或 503 不可用(相同的查询和相同的 ID 列表(。我刚刚尝试运行此查询(使用我在示例中列出的两个 ID(五次,其中我得到了 3 个正确的响应和 2 个错误。我的请求中是否有导致此问题的内容,或者这是服务中的错误?
我的第二个问题是,一次查询中可以提交多少个 ID 是否有限制?我试图在文档页面上查找此信息,但找不到任何内容(只是每次可以发送多少查询的速率限制,但与查询大小无关(。
编辑: 我收到的响应出现错误 500(使用上面的查询(:
{
'Error':
{
'Message': 'Something went wrong, if the error continue please contact us',
'Code': 'InternalError'
}
}
错误 503 附带的响应对我来说是空的。
我想我找到了问题所在。如果有人遇到同样的问题,似乎是某些ID返回错误。我将我的 ~150k ID 集缩小到 20 个,这些 ID 总是失败。问题是,如果一个错误的ID混在一大批ID中,整个请求就会失败。