-2

GoogleのAPIにアクセスするためのサービスアカウントを調べました。

最初は、appengineがサービスアカウントを使用するオプションはありません。いいえ、同じことができるというこのURLは見つかりませんでした。 https://developers.google.com/api-client-library/python/platforms/google_app_engine#ServiceAccounts

プロセスを試してみましたが、成功しませんでした。他の部分では、2つの質問があります。

  1. このAPIが、請求先のGoogleプロジェクトアカウントを識別する方法。
  2. プロセスnowhereは、Googleコンソールから取得した秘密鍵を使用します。 そして、私が試したとき、これは私が見るものです。

    トレースバック(最後の最後の呼び出し):ファイル "/base/data/home/apps/tempid/cons-main.361607602228494295/main.py"、63行目、in service = build('drive'、'v2'、http = http)ファイル "/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/util.py"、120行目、positional_wrapper returnwrapped(* args、** kwargs)ファイル "/ base / data / home / apps / tempid / cons-main.361607602228494295 / apiclient / Discovery.py "、193行目、ビルド応答、content = http.request(requested_url)ファイル" / base / data / home / apps / tempid / cons-main .361607602228494295 / oauth2client / util.py "、120行目、positional_wrapperでreturnwrapped(* args、** kwargs)ファイル" /base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/client.py " 、行405、new_requestself内。_refresh(request_orig)ファイル "/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/appengine.py"、162行目、_refresh raise AccessTokenRefreshError(str(e))AccessTokenRefreshError

何か答えはありますか?plsは上記のエラーを無視します、私はこれを整理しました。エラーはスコープの定義にありました。

appengineアプリのサービスアカウントIDをコンソールに追加し、請求を追加し、APIキーを使用していません。

 service.files().insert(
        body=body,
        ).execute()

このステートメントは例外をスローします。

An error occured: <HttpError 403 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Daily Limit Exceeded. Please sign up">

APIコンソールで2〜3個のプロジェクトにappengineサービスアカウントを追加したのに、このプロジェクトのデータがどこに入るのか、APIキーを使用していないのではないかと思います。– </ p>

4

1 に答える 1

2

サービス アカウントは、一部の特定のサービスでのみサポートされています。Google ドライブ SDK を使用しようとしているようですので、google-drive-sdk タグを追加しました。そのタグを見ている誰かが、ドライブがサービス アカウントをサポートしているかどうかを教えてくれることを願っています。

提供されたサービス アカウントはドライブでサポートされています。正確なコードで投稿を更新してください。オブジェクトを開始するときに、正しいGoogle ドライブ スコープAppAssertionCredentialsを使用していますか?

最初にApp Engine シェルでこれを試して、例外を簡単にキャッチし、例外オブジェクトの内容を確認することをお勧めします。アクセストークンを取得しようとしたときにサーバーから返されたエラー応答を見つけることができれば幸いです。

API コンソール プロジェクトのチーム メンバーとして、(App Engine コンソールから) App Engine サービス アカウントのメール アドレスを追加しなければならない場合があります。これは、BigQuery での請求とデータのアクセス許可をリンクするために行う必要があります。

API コンソールから秘密鍵を使用する必要はありません。App Engine がサービス アカウントの作成と鍵の管理を自動的に処理します。

于 2012-09-08T23:50:28.460 に答える