Google OAuth2 - Использование внешнего открытого токена - с помощью JS Client Library

В моем проекте я завершил весь поток авторизации на стороне сервера, написав коды доступа и токены в текстовые файлы, которые могут использоваться моим клиентским приложением.

Я пытаюсь использовать gapi.auth.setToken() в библиотеке JS CLient для "авторизации" моего приложения, используя этот внешний токен доступа.

Проблема возникает, когда я, наконец, отправляю запросы на различные API, к которым я должен получить доступ. Я получаю это сообщение об ошибке:

{code: 403, message: "Daily Limit for Unauthenticated Use Exceeded. Continued use require signup.", data: Array[1], error: Object}

Это заставляет меня думать, что gapi.auth.setToken() не делает то, что я ожидал от него.

Что мне здесь не хватает?

Ответ 1

Это сработало для меня:

gapi.auth.setToken({
    access_token: "YOUR_TOKEN_HERE"
});

Фактически этот токен-объект совпадает с тем, который вы получаете в обратном вызове gapi.auth.authorize(). Поэтому, если что-то не работает должным образом, вы можете добавить оттуда дополнительные атрибуты, чтобы заставить его работать. Во всяком случае, это еще взломать, хотя есть официальная документация на нем... Crappy gapi.

Ответ 2

У меня возникают аналогичные проблемы. Причина этого в том, что для setToken() требуется объект токена OAuth2, не OAuth2 access_token, который является просто строкой. Я придерживаюсь написанных вручную запросов GET, пока разработчики не смогут просто установить токен доступа, подобно тому, как работает ruby-клиент.