Ошибка freebase, когда лимит превышает 10?
Я пытаюсь получить 150 результатов, запрашивая базу данных freebase напрямую. Я передаю свой ключ API, который работает нормально, я увеличил предел QPS в консоли google api до 1000, но при получении изображений я получаю следующую ошибку:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "userRateLimitExceededUnreg",
"message": "User Rate Limit Exceeded. Please sign up",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "User Rate Limit Exceeded. Please sign up"
}
}
Можно ли как-нибудь выполнить запрос json каждые 1 секунду десять раз, получая при этом первые 100 результатов? Вот весь мой текущий Javascript (который, как я предполагаю, мог бы быть записан в меньшем количестве функций, но пока для целей тестирования):
/*autosuggest pre ouput*/
$(function() {
$("#myinput_one").suggest({
"filter": null,
"lang": "en",
"key" : "***",
"output": "(all)",
"limit": 5,
}).bind("fb-select", function(e, data) {$("#response1 pre").text(JSON.stringify(data, null, ' '));
prettyPrint();
$("#response1").show();
});
});
/*autosuggest & description*/
$(function() {
$("#myinput").suggest({
"filter": "(all type:/automotive/model)",
"lang": "en",
"key" : "***",
"output": "(description)",
}).bind("fb-select", function(e, data) {
$('#output').append("<li>" + data.name + "</li></li> " + data.output.description.wikipedia[0] + "</li>");
});
});
/*related search function*/
$(function() {
$("#myinput").change(function() {
var search_service = 'https://www.googleapis.com/freebase/v1/search';
var params = {
"filter": "(all type:/automotive/model)",
"type": "/automotive/model",
"query": $("#myinput").val(),
'output': '(description)'
'limit': 150,
"id": null,
"key": "***",
"name": null,
};
$.getJSON(search_service+'?callback=?',params, function(response) {
$("#related ul").empty();
for (var i=0; i<response['result'].length; i++) {
var related_entity = response['result'][i];
var list_item = $('<li></li>');
var container = $('<div class="related_entity"></div>');
list_item.append(container);
container.append($('<img src="https://usercontent.googleapis.com/freebase/v1/image' + related_entity['mid'] + '">'));
container.append($('<br/><a href="http://freebase.com"' + related_entity['mid'] + ' target="_blank">' + related_entity['name'] + '</a>'));
container.append($('<br/><p>' + related_entity['wikipedia'] + '</p>'));
$("#related ul").append(list_item);
}
$("#related").show();
});
});
$("#myinput").val("ford").change();
});
и вот фрагмент, исправляющий ошибку:
/*related search function*/
$(function() {
$("#myinput").change(function() {
var search_service = 'https://www.googleapis.com/freebase/v1/search';
var params = {
"filter": "(all type:/automotive/model)",
"type": "/automotive/model",
"query": $("#myinput").val(),
'output': '(description)',
'limit': 150,
"id": null,
"key": "***",
"name": null,
};
$.getJSON(search_service+'?callback=?',params, function(response) {
$("#related ul").empty();
for (var i=0; i<response['result'].length; i++) {
var related_entity = response['result'][i];
var list_item = $('<li></li>');
var container = $('<div class="related_entity"></div>');
list_item.append(container);
container.append($('<img src="https://usercontent.googleapis.com/freebase/v1/image' + related_entity['mid'] + '">'));
container.append($('<br/><a href="http://freebase.com"' + related_entity['mid'] + ' target="_blank">' + related_entity['name'] + '</a>'));
container.append($('<br/><p>' + related_entity['wikipedia'] + '</p>'));
Ошибка 403 появляется только на изображениях, и я не был рядом с 100 000 ежедневных запросов, в настоящее время у меня 150 на весь месяц. Любая помощь очень ценится С уважением, Крис
1 ответ
Я больше не вижу API изображений в документации, поэтому Google может быть в процессе его устаревания (или они могли просто забыть его документировать).
На первый взгляд, я бы попробовал добавить ?key=YOUR_API_KEY
на URL сервиса изображений и посмотрите, поможет ли это.