Я работаю над программой Ruby для доступа к моему приводу Google, чтобы получить мои файлы. Я хочу использовать соединение «сервер-сервер», чтобы люди не могли принимать разрешения, поэтому я использую ключ p12, сгенерированный для Идентификатор клиента учетной записи службы сервиса. Соединение в порядке, но я вставлял файл успешно.API Google Диска не отображает файл с моего диска (Ruby)
Моя проблема заключается в том, когда я пытаюсь перечислить все мои файлы: вызов работает хорошо, но я получаю только 2 файла: ранее вставленный документ и документ под названием «Как начать с диска» (у меня есть много другого файла на моем, как документы, электронные таблицы, презентации, фотографии и т. д.).
Я создал свой ключ с моей учетной записью google, но я не могу получить доступ к своим файлам. Кроме того, документ, который я вставил с моей программой, не отображается на моем диске Google среди моих файлов.
Есть ли что-то, что я пропустил по API? Какой файл я получаю вместо своего? Это действительно так, как будто я не на той же учетной записи Google Диска. Вот код, я использую, чтобы перечислить мои файлы:
# Prepare the OAuth client/Service Account
client = Google::APIClient.new(application_name: 'Google Drive Ruby test', application_version: '0.0.1')
key = Google::APIClient::KeyUtils.load_from_pkcs12('key.p12', 'notasecret')
client.authorization = Signet::OAuth2::Client.new(
:token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
:audience => 'https://accounts.google.com/o/oauth2/token',
:scope => 'https://www.googleapis.com/auth/drive',
:issuer => '***@developer.gserviceaccount.com',
:signing_key => key)
client.authorization.fetch_access_token!
# Get the Drive API
drive = client.discovered_api('drive', 'v2')
# Upload a file
api_result = client.execute(
:api_method => drive.files.list,
:parameters => [])
Большое спасибо!
Julian
вставьте код, делающий файлы.list и в идеале трассировку http. Вы правильно следуете nextPageToken? Когда вы говорите «мои файлы», вы * понимаете, что учетная запись службы НЕ является вашими файлами, а отдельной учетной записью? – pinoyyid
Это полный код, который я тестирую. Я просто печатаю объект api_result.data. Когда я говорю свои файлы, я хочу получить доступ к электронным таблицам или документам, которые я создал через мой браузер. –
А, это проблема. Учетная запись службы * не * ваша учетная запись накопителя, которую вы обновили бы через ваш браузер. См. Http://stackoverflow.com/questions/28784575/google-drive-help-required-access-to-own-drive-account/28789719#28789719 и http://stackoverflow.com/questions/19766912/how-do -i-авторизированного-а-фон-веб-приложение-без вмешательства пользователя каноническим. Кстати, в вашем коде комментарий выше files.list говорит «Загрузите файл», поэтому я пропустил его в первый раз. – pinoyyid