Ошибка 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 сервиса изображений и посмотрите, поможет ли это.

Другие вопросы по тегам