Chrome .identity.getAuthToken возвращает неверные учетные данные? - PullRequest
0 голосов
/ 15 марта 2020

Я следовал нескольким учебникам:

https://developer.chrome.com/apps/app_identity

https://github.com/GoogleDeveloperExperts/chrome-extension-google-apis

https://mashe.hawksey.info/2017/05/using-the-google-apps-script-execution-api-in-chrome-extensions/

для получения моего chrome расширения для аутентификации в проекте Google API, но этот код:

chrome.identity.getAuthToken({ 'interactive': false }, function (token) {

    // Catch chrome error if user is not authorized.
    if (chrome.runtime.lastError) {

        $("#__sample_support_logarea").text(chrome.runtime.lastError.message);
        console.log('No token aquired');
        console.log(chrome.runtime.lastError.message);

        sampleSupport.log('No token aquired');
        sampleSupport.log(chrome.runtime.lastError.message);


    } else {
        console.log('Token acquired');
        console.log(token);
    }

});

всегда возвращает:

OAuth2 request failed: Invalid credentials (credentials rejected by client).

Вот мой манифест. json:

{
  "manifest_version": 2,

  "name": "Shopify Partners",
  "description": "Automate Proposal Creation",
  "version": "1.0",
  "background": {
    "scripts": [
      "background.js"
    ]
  },
  "content_scripts": [
    {
      "js": [ "jquery.min.js", "main.js" ],
      "matches": [ "http://*/*", "https://*/*" ]
    }
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "activeTab",
    "identity",
    "https://accounts.google.com/*",
    "https://www.googleapis.com/*"
  ],
  "oauth2": {
    "client_id": "..sr1t2ass4f9a0.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/spreadsheets"
    ]
  },
  "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8Cj7TI9toe9nK0Pw8FFk1hOlSCPUwJ/GUmWUgzyO3XBP2KoIFv+ISpOoPO++itYsDaXBgZzjk/EUeFMPUWbmuL6+lfs6orq39mMzQKLZEMV05bRaVVsj7gMtBGrsuOJm83Ugw+2tUVszH/yCzMFYNGqJe+ZaEPyUDVqeOfbZoo+JDleDveu0j+HTKDa6wVdDxndT+N86IEoPKCWfXdzMZ6+22ZTSPKYIvQbaHalqEQ9YAc80eHaL0eQNq/+aEv3oNWm2rbB8fy79koQKkZBuWJqgWmznWe6NzPkEpsiE+ilaUCKzWzFDFpiIC0A5Eq3KpWQdnQYDF1A2gmTh9vgkQIDAQAB",
  "content_security_policy": "script-src 'self' https://apis.google.com https://ajax.googleapis.com; object-src 'self'"
}

Обратите внимание, что здесь я опустил полный идентификатор клиента из соображений безопасности.

Единственное, что я подозреваю, может быть Причина этого заключается в том, что я запускаю распакованное расширение в режиме chrome dev, идентификатор которого выглядит примерно так: gcnonhfkghlloailceiddfmlmdeajlkl

И в консоли Api при создании учетных данных для клиента я указал то же самое:

enter image description here

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

...