34

google.pickerユーザーにファイルをドライブ アカウントにアップロードさせるために使用しようとしています (つまり、ユーザーはアップロードするために Google アカウントを持っている必要はありません)。

通常の Google アカウントをアプリケーション所有のアカウントとして使用しようとしてAUTH_TOKENおり、OAuth2 を使用して 取得し、 .setOAuthToken(AUTH_TOKEN). docsに記載されているすべてに従いました。

ただし、アップロード時にServer Rejectedエラーが発生しました。https://docs.google.com/upload/resumableupload?authuser=undefined返された呼び出し:

{"errorMessage":{"reason":"REQUEST_REJECTED","additionalInfo":{"uploader_service.GoogleRupioAdditionalInfo":{"completionInfo":{"status":"REJECTED"},"requestRejectedInfo":{"reasonDescription":" agent_rejected"}}},"upload_id":"AEnB2Ur64Gb0JDCk_8mg5EhpdcaqL82wBQHumHjcGvDqYibtksmUzhfhBolsmBFzRuvQPRyi43SYfactJZvIWYrQ6xAqzu3L9g"}}

ピッカーがサポートしていないため、サービス アカウントを使用できないことはわかっています。

を取得する際に何かを見逃していAUTH_TOKENますか? コンソールで何かする必要がありますか?

4

5 に答える 5

1

もう少しコードを追加するか、gapi.auth.authorize() の呼び出しを確認してください

  1. OAuth トークンを取得するために正しいスコープを使用していることを確認してください。
  2. スコープ宣言を再確認します。
  3. への呼び出しを確認するgapi.auth.authorize()

    window.gapi.auth.authorize(
    {
         'client_id': clientId,
         'scope': scope,
         'immediate': false
    },
    handleAuthResult);
    

    から: https://developers.google.com/picker/docs/#hiworld

実際のコード サンプルがなければ、何が起こっているのかを正確に伝えることは非常に困難です。最も可能性が高いのは、認証トークン コレクションです。ただし、Google ユーザー (clientID) を定義しないという単純な場合もあり、それがgapi.auth.authorize()呼び出しに影響を与えます。

于 2014-09-20T02:34:51.977 に答える
0

ドライブで関数 doPost を使用して Google Apps スクリプトを使用し、サーバーにデータを送信します。次に、Drive API を使用してファイルに書き込みます。公開時に、クロスドメイン呼び出しを行う場合は、アクセス許可を「誰でも、匿名でもアクセス可能」に設定する必要があります。Google で自分のユーザー名でスクリプトを実行します (テスト用)。ただし、その機能を Gmail のアプリケーション ユーザー アカウントに移動することをお勧めします。

関係するレベルの認証が必要な場合は、スクリプトが公開されている場合でも、CloudSQL でホストされているデータベースに対して認証したり、Jdbc ライブラリを使用して認証したりして、外部リソースに接続することができます。

于 2015-01-11T06:24:42.410 に答える
0

このスレッドが役立つかもしれません: https://groups.google.com/forum/#!topic/Google-Picker-API/PPd0GEESO78 oauth コンテキストの設定についてです

またはこれ: https://productforums.google.com/forum/#!msg/drive/GDl4uBkkbxM/jRejcxI-EV8J 自動変換をオンにしてアップロードしようとするファイルの種類についてです..

于 2014-04-30T08:32:45.010 に答える
0

スコープが問題のようです。OAuth トークンは、正しいスコープのみを使用して取得する必要があります: http://tinyurl.com/ldotq4y

于 2015-03-12T11:44:53.520 に答える
0

に簡単に置き換えscope: 'https://www.googleapis.com/auth/drive.readonly'ますscope: 'https://www.googleapis.com/auth/drive'。Google ドライブ アカウントに何かをアップロードするなど、変更を加えることができるようにします。

于 2016-10-30T14:34:20.837 に答える