我已经存储了谷歌知识图谱API(GKGA)的一些搜索结果 以ids的形式,GKGA返回。
现在我想再次使用id获取整个Result,但这似乎不起作用。经过一些研究,我发现了一个可以在这里工作的查询: How to use Google Knowledge Graph API
我的请求主要有点不同:
https://kgsearch.googleapis.com/v1/entities:search?callback=jQuery321016748583817510942_1521200076900&indent=true&key= {MY_API_KEY}&安培; IDS =千克:/米/ 031sc&安培; _ = 1521200076901
所提出的工作要求是:
https://kgsearch.googleapis.com/v1/entities:search?ids=%2Fm%2F014nm_&key= {API-KEY}
我能看到的主要区别是ID不同:
我是:所以我尝试在id和整个url上使用encodeURI,但没有区别。
所以这就是问题:我需要对我的身份证做些什么才能得到GKGA的结果?
目前我正在实现我的请求:(如果你想知道我的请求中的JQuery部分 - url)
let service_url = 'https://kgsearch.googleapis.com/v1/entities:search';
let requestParams = {
'indent': true,
'key': '{API-KEY}',
"ids":"kg:/m/031sc"
};
$.getJSON(service_url + '?callback=?', requestParams, (response) => {
}).done((response) => {
console.log('Response is: ' + JSON.stringify(response));
});
答案 0 :(得分:1)
对我有用的解决方案是使用'之后的部分:'作为实际的身份证。 这让以下解决方案支持多于id:
let service_url = 'https://kgsearch.googleapis.com/v1/entities:search';
let dataurl = 'key={API-KEY}'; //just the key, not the moustaches '{','}'
for (let i = 0; i < allIds.length; i++) {
dataurl += '&ids='+ allIds[i].split(':')[1];
}
$.getJSON(service_url + '?callback=?', dataurl, (response) => {
}).done((response) => {});