2016-06-21 7 views
2

Я пытаюсь получить учетные данные из Google Консоли для доступа к данным моего приложения, используя опцию Web browser(Javascript) (для того, чтобы использовать последнюю версию Picker API). Но когда я выбираю параметр «Данные приложения» (данные Access, принадлежащие вашему собственному приложению), я получил сообщение:Данные приложения Google Drive для доступа к учетным данным из веб-браузера (Javascript)

Данные приложения не могут быть безопасно доступны из веб-браузера. Пожалуйста, выберите другую платформу.

Может кто-нибудь объяснить, почему это не безопасно, и как я могу получить доступ к своим данным приложения с помощью веб-браузера, возможно, вам следует выбрать разные учетные данные?

Спасибо.

+0

Как вы это делаете (код)? Вы используете запросы URI? И Google Консоль, вы имеете в виду GDC или Google Cloud Platform Console? – noogui

+0

@noogui, я имею в виду GDC. Я использую код из учебника https://developers.google.com/picker/docs/#hiworld Я хочу получить доступ к данным приложения, а не к пользовательским данным. –

ответ

2

Вы можете получить доступ к Google Data Drive три возможных способов:

  • браузера через OAuth: всплывающее окно открывается пользователю, он входит в его/ее учетную запись Google и получить доступ-маркер. Вы передаете этот токен в качестве ключа параметра в каждом запросе, который вы делаете на диске api.
  • Браузер через ключ api: вам не нужно входить в систему, Google нужен этот ключ, чтобы узнать, какое приложение использует их услуги. Это самый простой вариант, вы используете это, когда у вас нет приложения на стороне сервера и вам нужно получить доступ только к общедоступным данным. Вы не можете получить доступ к личным файлам с помощью этого метода.
  • Serverside: для аутентификации используется закрытый ключ. Все запросы на диск api ДОЛЖНЫ быть сделаны только в бэкэнд, было бы небезопасно делиться вашим ключом в javascript-коде.

Предположим, вы пытаетесь выполнить второй вариант. У меня была такая же проблема, когда вы проходите поэтапно, она говорит, что для Диска будет небезопасно, чего я не понимаю, поскольку вы будете делиться открытым ключом и иметь доступ только к общедоступным файлам.

Чтобы сгенерировать этот ключ, вы можете пойти https://console.developers.google.com/apis/credentials нажмите «create creadential» и выберите «API-ключ».

Просто помните, что ключ api бесполезен, чтобы делать все, что вам нужно для специальных разрешений, единственное, что вы можете сделать, это прочитать общедоступные файлы/папки.

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

Но если вам нужно получить доступ к приватным вещам в браузере, я полагаю, что у вас есть система входа в систему, если нет, нет никаких причин, чтобы она была конфиденциальной на Google Диске (любой бы мог получить доступ в любом случае). Если у вас есть система входа в систему, у вас должно быть приложение на стороне сервера. В этом случае правильная вещь - переместить все ваши вызовы на Api диска на ваш сервер и использовать закрытый ключ (третий вариант в предыдущем списке) для аутентификации.

1

Нашли это на Drive's Application Data руководство.

Чтобы иметь возможность использовать папку данных приложения, запрос на доступ к следующие сферы:

https://www.googleapis.com/auth/drive.appdata

Это также может помочь, если вы читать больше на Working with the Application Data folder. Надеюсь, это поможет.