2015-08-20 3 views
0

Я успешно использовал API Google (через HTTP/REST, а также с помощью клиентской библиотеки .NET) с учетной записью службы Google для доступа к файлам в Google Водить машину.Не удалось запросить токен доступа для API-интерфейсов Fusion с учетной записью службы Google

В последнее время я изучаю таблицы Fusion. Я могу использовать API с авторизацией пользователя через веб-приложение. Однако, когда я пытаюсь получить к нему доступ с помощью учетной записи Google Service в рамках того же проекта, он не с ниже ошибки, когда у меня есть https://www.googleapis.com/auth/fusiontables в объеме:

https: // www.googleapis.com/ oauth2/v3/token

HTTP 401

{"error": "unauthorized_client", "error_description": "Неавторизованный клиент или область в запросе". }

ошибка уходит, когда я удаляю https: // www.googleapis.com/auth/fusiontables и тот же блок кода отлично работает с https://www.googleapis.com/auth/drive и другими областями.

Я проверил и подтвердил, что API-интерфейс Fusion Tables уже включен для моего проекта в Google Developers Console. (В противном случае моя авторизация пользователя через веб-приложение не будет работать в первую очередь.)

Есть ли что-нибудь, что я мог пропустить? Любая помощь будет принята с благодарностью.

ответ

0

Я только что пришел через это: Google drive service account and "Unauthorized client or scope in request"

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

Неисправность устранена после удаления User = svcAcct, из нижеследующего кодового блока.

ServiceAccountCredential credential; 
    credential = new ServiceAccountCredential(
    new ServiceAccountCredential.Initializer(svcAcct) { 
     // User = svcAcct, *** removed *** 
     Scopes = new System.Collections.Generic.List<string>(scopes.Split(' ')) 
    }.FromCertificate(certificate) 
); 

Следовательно, здесь общий совет:

НЕ называть ServiceAccountCredential.Initializer с пользователя = svcAcct излишне.

Выполняйте это только при попытке олицетворять пользователя разницы (при условии, что соответствующая настройка была выполнена правильно в консоли администратора Google Apps).

Даже если он не может производить какие-либо ошибки в определенных случаях некоторые неожиданные поведения, когда в том числе адрес электронной почты самого учетной записи службы в претензии JWT, установленной в качестве значения «суб» поле.

Смежные вопросы