2016-06-21 16 views
2

Googleドライブから、Web browser(Javascript)オプションを使用してアプリケーションドライブデータにアクセスするための資格情報を取得しようとしています(後者のPicker APIを使用するため)。しかし、アプリケーションデータ(自分のアプリケーションに属するデータへのアクセス)を選択すると、メッセージが表示されます。GoogleドライブAPIウェブブラウザ(Javascript)からの資格情報にアクセスするアプリケーションデータ

Webブラウザからアプリケーションデータに安全にアクセスすることはできません。 別のプラットフォームを選択してください。

誰でも説明できますが、なぜ安全ではないのですか、Webブラウザを使用してアプリケーションデータにアクセスするにはどうすればよいでしょうか。

ありがとうございました。

+0

どうやって(コード)していますか? URIリクエストを使用していますか? Google Consoleでは、GDCまたはGoogle Cloud Platformコンソールについて言及していますか? – noogui

+0

@noogui、私はGDCを意味します。チュートリアルのコードを使用しています。https://developers.google.com/picker/docs/#hiworldユーザーデータではなくアクセスアプリのデータが必要です。 –

答えて

2

あなたは3つの方法でGoogleドライブのデータにアクセスすることができます。

  • ブラウザのOAuth経由:ポップアップは、ユーザーに開いて、彼は彼/彼女のGoogleアカウントにログインし、アクセストークンを取得します。このトークンは、ドライブAPIに要求するたびにパラメータ・キーとして渡します。
  • apiキーによるブラウザ:ログインする必要はありません。Googleは、どのアプリがそのサービスを使用しているかを知るためにのみ、このキーを必要とします。これは最も簡単なオプションです。サーバー側のアプリケーションを持たず、パブリックデータのみにアクセスする必要がある場合に使用します。この方法でプライベートファイルにアクセスすることはできません。
  • Serverside:認証にプライベートキーを使用します。ドライブAPIへのすべてのリクエストは、バックエンドでのみ行われなければならない(MUST)。javascriptコードでキーを共有することは安全ではない。

2番目のオプションを使用しているとします。私は同じ問題を抱えていました。ステップバイステップで、ドライブについては理解できませんが、公開鍵を共有し、公開されているファイルのみを処理するため、安全ではないと言います。

このキーを生成するには、https://console.developers.google.com/apis/credentialsに行きます。「creadentialを作成」をクリックし、「APIキー」を選択します。

ただ、APIキーは、あなたがに特別な権限を必要とするだろう何かをする無用である、覚えて、あなたがこれを行うことができる唯一のことは、読み出した公開ファイル/フォルダです。今

、それはあなたがブラウザでアプリケーションのプライベートデータにアクセスする必要がある場合は、必要な第二の選択肢はない場合。それは正確ではないと言っているわけではありません。安全ではありません。キーはあなたのリクエストごとに表示されるため、誰かがあなたのキーを盗んで、あなたのドライブアカウントにしたいことを何でもするのはとても簡単です。

しかし、ブラウザで私的なものにアクセスする必要がある場合は、ログインシステムを持っていると思いますが、そうでなければGoogleドライブにプライベートにする必要はありません(誰でもアクセスできます)。ログインシステムをお持ちの場合は、サーバー側アプリケーションが必要です。この場合、正しいことは、ドライブapiへのすべての呼び出しをバックエンドに移動し、秘密鍵(前のリストの3番目のオプション)を使用して認証することです。

1

これはDrive's Application Dataで見つかりました。

、 次のスコープへの要求のアクセスを、あなたのアプリケーションデータフォルダを使用できるようにするには:

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

あなたがWorking with the Application Data folderに続きを読む場合にも役立つかもしれません。希望が役立ちます。

関連する問題