2016-08-12 12 views
0

Google APIを初めて使用しています。私の目標は、ウェブサイトのユーザーが公開Googleドライブフォルダにファイルをアップロードできるようにすることです。私はクライアント側でそれを行う必要があります。JavaScriptを使用してGoogleドライブのパブリックフォルダにファイルをアップロードするユーザー

私はそれが安全ではないことを理解していますが、チームは私にフロントエンドでそれをするように求めています。

私は(StackOverflowの回答からも)異なる解決策を読み、試しましたが、何も機能しません。

私もGoogleドライブのAPIドキュメントをチェックしました:https://developers.google.com/drive/v3/web/manage-uploads

要求が好きなはずです:

POST /upload/drive/v3/files?uploadType=media HTTP/1.1 
Host: www.googleapis.com 
Content-Type: image/jpeg 
Content-Length: number_of_bytes_in_file 
Authorization: Bearer your_auth_token 

JPEG data 

私はJavaScriptで単純なHTTP POSTリクエストを作成しようとしたが、設定できませんでしたHostヘッダー(保護されていないヘッダーエラー)。

your_auth_tokenclient secret

どのように私はそれを達成することができますか?

+0

誰でもGoogleドライブにファイルをアップロードできます。誰にでも、匿名の**にも、誰がこのアプリにアクセスできるのかを公開して設定しようとしましたか? –

+0

@ d.datul1990わかりませんが、このオプションはGoogle Apps Scriptでのみ使用できると思います。 Btw、私はそれをGoogle Script経由で行ってきましたが、Salesforceアプリケーションに統合する必要があるため、GoogleAPIコンソールにアプリを登録したばかりです。 – Frelseren

答えて

0

あなたのリクエストヘッダにauth_tokenスティックを入れるためには、Googleアプリを作成する必要があります。

  1. をGoogle APIコンソールでアプリケーションを登録します。認証がハイレベルで 仕組み

    は、すべてのアプリケーションは、同じ基本的な認証パターンに従ってください。

  2. ユーザーがGoogleアカウントのデータへのアクセスを許可するようリクエストします。
  3. ユーザーが同意する場合、アプリケーションは 資格情報を要求し、
  4. にアクセスしてドライブAPIにアクセスします。
  5. 資格情報をリフレッシュします(必要な場合)。
  6. 資格情報]ページから、新しい認証

    1. を作成

    、あなたのOAuth 2.0認証情報を作成したり、サービスアカウントを作成するための資格情報> サービスアカウントキーを作成する>のOAuthクライアント IDを信用証明書の作成]をクリックします。

  7. OAuthクライアントIDを作成した場合は、アプリケーション タイプを選択してください。フォームに記入し、「作成」をクリックします。

クライアントの鍵はここに格納されています。それは行うことができます

https://developers.google.com/drive/v2/web/about-auth

+0

私はすでにアプリを作成しました。私は自分のGoogleドライブにファイルを承認してアップロードすることができますが、... ユーザーは自分のドライブアカウントに許可をスキップしたり、自分のファイルをアップロードできるように常に自動的に許可できますか? – Frelseren

+0

@Frelseren私の経験は、おそらく最高のアイデアではないかもしれないし、まったく不可能なことです。私は正直なところ、Googleが許可するとは思わない、あなたは単一の共有auth_tokenを持つことができますか? –

+2

私はほぼhttps://github.com/googledrive/cors-upload-sampleを使ってそれを達成しました。はい、auth_tokenが必要です。私の同僚はバックエンド側で作業を開始しました。 – Frelseren

関連する問題