2012-04-28 5 views
3

У меня проблема с Google Диском с помощью Ruby.Проблемы с аутентификацией Google Диска

Я могу создать клиента OAuth2 и начать делать аутентифицированные звонки.

Я должен запросить список документов Google первым, чтобы принести список файлов, как только у меня есть идентификаторы файлов Я пытаюсь запросить API Google Drive, как это:

GET https://www.googleapis.com/drive/v1/files/0B9N873iFyYR7MkRfeTAxxxxxxx?access_token=ya29.AHES6ZRckKZ2jZfC6risUtH9ZZxxxxxxxxx 

Однако я получать это:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "appNotInstalled", 
    "message": "The authenticated user has not installed the app with client id xxxxx.apps.googleusercontent.com" 
    } 
    ], 
    "code": 403, 
    "message": "The authenticated user has not installed the app with client id xxxxx.apps.googleusercontent.com" 
} 
} 

Этот идентификатор клиента относится к приложению I, созданный с помощью Google API Dashboard, а не Chrome Web Store.

В любом случае я попытался настроить размещенное веб-приложение Chrome, настроил (и заплатил) все, чтобы разрешить список тестовых пользователей, но все же я получаю такое же сообщение об ошибке, хотя приложение установлено правильно с рынка (а не локальная копия).

С тем же клиентом и учетными данными я могу называть https://docs.google.com/feeds/ конечными точками, но не управлять ими.

Мои области применения довольно полные: 'https://docs.google.com/feeds/,https://docs.googleusercontent.com/,https://spreadsheets.google.com/feeds/,http://gdata.youtube.com,plus.me,drive.file,userinfo.email,userinfo.profile' (не смотрите на формат, он автоматически фиксируется после этого), и они хорошо работают.

Я не использую пользовательский интерфейс диска, я просто хочу использовать серверные API. Спасибо за любые подсказки.

+0

Возможно, я пропустил шаг: http://stackoverflow.com/questions/10345904/why-am-i-getting-the-authenticated-user-has-not-installed-user-hats-not-install- the-app-with-client-i – kain

+0

Выполнялась ли вся процедура, кроме ошибки, одинаково. – kain

ответ

5

Вы установили аргумент «api_console_project_id»: «xxxxxxxxxxxxx» в вашем манифесте? Пример приведен здесь: manifest.json

+0

Ничего себе, это сработало. На самом деле я поставил '' ' "контейнер": "GOOGLE_DRIVE", "api_console_project_id": "101xxxxxx", ' '' и теперь я получил другую ошибку (403). Я полностью заблокирован, так как узнаю, что пользователь должен предоставить явное разрешение на приложение для доступа к файлу: \ – kain

+0

Ошибка 403 может быть здесь: http://stackoverflow.com/questions/10368678/google-drive- HTTP-403-доступ не настроен-ошибка-с-dredit – David

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