Внутренняя ошибка 500 при доступе к API лицензирования Chrome Web Store - PullRequest
5 голосов
/ 13 апреля 2019

Я пытаюсь сделать расширение Chrome, которое будет иметь бесплатную пробную версию. Следуя документации здесь , первое, что нужно сделать, - включить Chrome Identity API. Насколько я могу судить, такого не бывает ...

В любом случае ... Я сделал все остальные шаги, и в итоге получаю ошибку 500.

Вот часть того, что я сделал. Конечно, я изменил значения всех идентификаторов, ключей, токенов и т.д ..

manifest.json

    {
      "name": "The name of my app",
      "version": "1.0.9",
      "key": "my_very_long_key",
      "description": "A description",
      "manifest_version": 2,
      "permissions": [ "activeTab", "storage", "declarativeContent", "identity", "https://www.googleapis.com/" ],
      "oauth2": {
        "client_id": "the_client_id_i_setup_in_Credentials_oauth2_section.apps.googleusercontent.com",
        "scopes": [
          "https://www.googleapis.com/auth/chromewebstore.readonly"
        ]
      },
    // other stuff...

код

chrome.identity.getAuthToken({
  'interactive': true
}, (token) => {
  console.log("Token: %o", token);
  console.log("chrome.runtime.id: %o", chrome.runtime.id);

  var CWS_LICENSE_API_URL = 'https://www.googleapis.com/chromewebstore/v1.1/userlicenses/';
  var req = new XMLHttpRequest();
  req.open('GET', CWS_LICENSE_API_URL + chrome.runtime.id);
  req.setRequestHeader('Authorization', 'Bearer ' + token);
  req.setRequestHeader('Content-Type', 'application/json');

  req.onreadystatechange = () => {
    if (req.readyState == 4) {
      var license = JSON.parse(req.responseText);
      console.log(license);
    }
  }
  req.send();
});

А вот пример вывода.

Token: "ya29.GlzqBp1FaFegsgm.oihohjbrbznghdfgmgighnzxfvxz3ve5G8GQ4VxZ653FqBa8aqq-JXil-VS5IGeknneZ6KnKbyknw-gXw"
chrome.runtime.id: "asdflhlkrfhuilerdfb"

Object
    error:
        code: 500
        errors: Array(1)
            0:
                domain: "global"
                message: "Backend Error"
                reason: "backendError"
                __proto__: Object
            length: 1
            __proto__: Array(0)
        message: "Backend Error"
        __proto__: Object
    __proto__: Object

Так что я могу получить токен доступа, но затем вызов API с ним, похоже, ни к чему не приведет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...