2016-10-25 2 views
0

Я пытаюсь прочитать данные из Листа Google через расширение Chrome с использованием API удостоверения подлинности Chrome, но я даже не могу получить токен доступа. Это то, что я сделал до сих пор:Доступ к листам Google из расширения Chrome через API удостоверения подлинности Google

  • Создал идентификатор клиента OAuth 2 в Google API Console. Введенные «http://localhost» и «https://localhost» в авторизованных источниках JavaScript (так как мое расширение находится в localhost пока).
  • Обновленный расширение для Chrome manifest.json включать:
{ 
    "permissions": [ 
    "identity", 
    "https://docs.google.com/spreadsheets/" 
    ], 
    "oauth2": { 
    "client_id": "<enter-oauth2-client-id-here>", 
    "scopes": [ 
     "https://docs.google.com/spreadsheets" 
    ] 
    } 
} 
  • Добавлена ​​следующий код в фоновом скрипте
console.log("here"); // this point is hit 

var ci = chrome.identity; 
ci.getAuthToken({ interactive: true }, function(token) { 
    console.log("token: " + token); // none of this is hit 
    if (chrome.runtime.lastError) { 
     console.log(chrome.runtime.lastError); 
     return; 
    } 
    access_token = token; 
}); 

В этот момент, когда я перезагружать расширение, Chrome запрашивает мои учетные данные (выполняется строка ci.getAuthToken({ interactive: true } ...)), но после того, как учетные данные успешно предоставлены, ничего больше не происходит ручки. Я думаю, что токен никогда не извлекается, поэтому ни один из кода в пределах function(token){...} не выполняется. Фоновая консоль показывает сообщение «здесь», но ничего больше (никаких ошибок, предупреждений или чего-либо еще).

Примечание: В моем manifest.json, под oauth2:client_id Я использую идентификатор клиента OAuth2, сгенерированный Google API Console.

Что мне не хватает?

+0

_ "так как мой внутренний абонент находится в локальном хосте сейчас" _ Это не имеет особого смысла. Что именно ты имеешь ввиду? – Xan

+0

любой прогресс с этим? –

ответ

0

Я думаю, что ваш scope for spreadsheet неверен. Он должен быть https://www.googleapis.com/auth/spreadsheets на основе его documentation.

Меняем

"https://docs.google.com/spreadsheets" 

в

"https://www.googleapis.com/auth/spreadsheets"