問題タブ [google-api-python-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
67 参照

python - Google calendar api v3 python を使用して editLink と aclLink を取得できますか?

私の現在のプロジェクトは gdata を使用しており、次の呼び出しで editLink と aclLink を簡単に取得できます。

現在、API v3 に切り替えようとしています。そして、v3 API で editLink と aclLink を取得する方法が見つかりませんでした。

v3 API で editLink と aclLink を取得する方法はありますか?

どうもありがとう!

0 投票する
1 に答える
903 参照

python - client_secrets.json ファイルは、GAE にデプロイされると読み取れません

dev_appserver.py私のマシンで使用するアプリがあります。私はそれを正常に展開します:

私のアプリは Google API を使用しているため、このデプロイにはclient_secrets.jsonプロジェクト フォルダーのルートにあるファイルが含まれています。そして、アプリを再ダウンロードするときに( を使用してappcfg.py download_app -A myapp -V 1 ~/myapp)取得するため、正しく展開されているようです。

ただし、 へのアクセスが必要なスクリプトを呼び出すページを開くと、 が表示されclient_secrets.jsonError: Server Errorインスタンス ログに次のように表示されます (myapp と MYID は検閲されています)。

の 41 行目と 42 行目は次のmyapp.pyとおりです。

そしてここにありますCLIENT_SECRETS

私は何を間違っていますか?

EDIT : #appengine のマーフは、それは不適切なapp.yaml構成に起因する可能性があると述べており、「静的ファイルとして提供されていないことを確認し、独自のコードがそれを提供することを決定していないことを確認してください」app.yamlと述べていますが、そのファイルへのすべての静的ハンドラーを削除した後、問題は解決しません。これが私の app.yaml へのペーストビンです。そういえば、client_secrets.json を残してデプロイすると、"Cloning 6 static files"が表示されることに気付きました。次に、それを削除して再デプロイすると、「Cloning 5 static files」が表示されます。app.yamlそれは、 myに一致するものがまだあることを確認していますかclient_secrets.json、それともこれらの別のメカニズムですか?

0 投票する
1 に答える
1500 参照

python - GAE タスク キューで OAuth を必要とする操作を行うには?

/updateYouTube プレイリストを更新するページを含む単純な Google App Engine アプリがあります。次のようになります。

これは期待どおりに機能し、update_playlist()メソッドはその役割を果たしますが、状況によってはかなり長時間実行され、DeadlineExceededError. 利用可能なオプションについて読んだ後、Task Queue API が最適な方法であると判断し (そうですか?)、 Using Push Queues in Pythonガイドに従ってそれを使用しようとしています。

→ 要するに、私は+に分割UpdatePageします:UpdatePageHandlerUpdatePageWorker

残念ながら、分割を行った後、私の OAuth2 デコレータはもはやその仕事をしていないようです:

そして、デコレートする代わりUpdateHandlerPage:getにデコレートUpdateWorkerPage:postすると、代わりに無限の失敗ループが発生します。

私に何ができる?ご協力いただきありがとうございます!

0 投票する
1 に答える
927 参照

python - ローカル ウェブサーバーなしで Python で Google クライアント ライブラリを使用する

Google が提供するサンプル コードを使用して、OAuth 経由で認証する Google API と対話する Python プログラムがあります。

ただし、これを実行すると、ブラウザーが強制的に開かれ、認証のためにボタンをクリックするようにユーザーに求められます。これにより、プログラムがローカル Web サーバーのないマシンで実行される場合に問題が発生します。この質問を見たことがあります。これは、 を使用して問題を解決できることを示しているようですが、引数処理--noauth_local_webserverに使用するようにプログラムを書き直す必要がgflagsあり、既存のコードは既に を使用していますargparse

アプリケーション全体を書き直さなくても、ブラウザを強制的に開かずにユーザーを認証する方法はありますgflagsか?

0 投票する
1 に答える
1741 参照

python - GAE cron ジョブで OAuth を必要とする操作を行うには?

この投稿は、 「GAE タスク キューで OAuth が必要な操作を行う方法」のフォローアップです。. この投稿で Bossylobster が示唆しているようuser_idに、スクリプトで をハードコーディングしようとしましたが、cron タスクは常に失敗します。

  • ログでトリガーされていることがわかります...

    /li>
  • ...ただし、常に失敗し ( AppEngine のCron ジョブセクションに赤い「失敗」として表示されます)、実行するはずのタスク キューが[タスク キュー]セクションに表示されません。

私が理解していないのは、/update手動で開くと、以下のログインプロンプトが表示されることです。cronはどのようにそれをバイパスすることになっていますか? 何が起こっているのかをデバッグするにはどうすればよいですか?

GAE ログイン プロンプト

助けてくれてありがとう。

@dlebech回答のEDIT /フォローアップlogin: admin:関係する行に行をurl追加した後も問題は解決しませんapp.yaml。ローカルでは (管理者としてサインインし、ブラウザーでハンドラーの URL にアクセスして、Cron の URL をセキュリティで保護する で説明されているように) すべてうまくいきますが、デプロイすると、アプリは OAuth2 デコレーターを通過しません。

  • いくつかのデバッグprintステートメントで...

    /li>
  • ... GAE ログに展開後に表示される内容は次のとおりです (ログは最後の行で停止し、次に何も起こりません)。

    /li>
0 投票する
1 に答える
5243 参照

python - GAE/Python で「access_type=offline」/サーバーのみの OAuth2 操作を行うには?

この投稿は、GAE cron ジョブで OAuth が必要な操作を行うには?のフォローアップです。@oauth_requiredのデコレータを誤用していることに気付きましたOAuth2DecoratorFromClientSecrets

OAuth 2.0 説明プレゼンテーションで説明されているように、Oauth 2.0 は次の問題を解決します。

  • サービスの構築...
  • ...ユーザーがアクセス...
  • ...そしてサードパーティからユーザーのデータにアクセスします

それが@oauth_required要約であり、うまく機能します(現在、私のアプリは「機能」しています。更新ページをトリガーすると、アプリへのYouTubeデータへのアクセスを許可するように求められ、残りは続きます)。しかし、それは私が望むものではありません! 私のアプリは、ユーザー入力なしで資格情報を使用して毎日 youtube プレイリストを作成する、より簡単なことを行います。上記の 3 層ネゴシエーションと比較すると、次のようになります。

  • サービス_
  • ...ユーザーがアクセス
  • ...ただし、「サーバー所有」の YouTube プレイリスト データにのみアクセスします。ユーザーの YouTube データにアクセスしたくありません。私 (つまり、私 / サーバーによって永続化されたユーザー ID) が所有するプレイリストを変更したいだけです。

しかし、それを行うにはまだ助けが必要です。ここに私の現在の状態があります:

  1. 数回検索した後、私がやりたいことはOffline Accessと呼ばれることを知りました(私のユースケースを強調して
    ください)。この例には、月曜日の午前 8 時ちょうどにブロガーの投稿を作成するバックアップ サービスやアプリケーションが含まれます . このスタイルのアクセスはオフラインと呼ばれ、Web サーバー アプリケーションはユーザーにオフライン アクセスを要求する場合があります. 通常の既定のアクセス スタイルはオンラインと呼ばれます. " ...
    →だから私は今していることを続け、YouTube アカウントへのアクセスを要求し続けますが、type_access=offlineフラグを使用してトークンを取得し、それを保持/後続の要求に使用する必要があります。

  2. オフライン アクセス更新トークンの使用セクションは完全に理にかなっていますが、一般的な HTTP レベルにとどまります。まだ初心者なので、これらの原則を自分の Python コードに統合する方法がわかりません。また、サンプルの Python コードも見つかりません
    でした... → Python の例を 1 つ、どこでどのように使用するかを説明してくれる人はいますか?この旗?

  3. ...そして特に、 を勉強した後でoauth2client.appengine.OAuth2Decorator.oauth_requiredも、それを自分のケースに曲げることができるかどうか、または自分のことをすべきかどうかはまだわかりません.
    →どう思いますか?

御時間ありがとうございます; 必要に応じて、irc://irc.freenode.net/#appengine にも参加していronjます。

0 投票する
1 に答える
2034 参照

python - Admin SDK で Directory API にアクセスする方法

Google Admin SDK の Directory API にアクセスしようとしても無駄です (リファレンス)。「google-api-python-client」パッケージをアップグレードしても、[ダウンロード] > [インストール] > [Python] リンクで指示されているように、問題は解決しません。

API のプログラム名が記載されているドキュメントも見当たらないので、「ディレクトリ」であると想定していますが、「directory.admin」と「admin.directory」も試しました。テスト コードを実行しようとすると、次の例外が発生します。

誰かが私が見落としているかもしれないことを手伝ってもらえますか? 残念ながら、API にアクセスするためのシェルを提供する「クイックスタート」が壊れているようです (参照)。[Python] > [コマンドライン] > [プロジェクトの構成] を選択すると、「申し訳ありませんが、現在プロジェクトを構成できません」というエラーが表示されます。

カスタム ディレクトリ ライブラリ クラスで使用している関連コードは次のとおりです。

これは、API で利用できるクライアント ライブラリがまだないというだけのケースですか? もしそうなら、それはいつ利用可能になるでしょうか?

0 投票する
0 に答える
837 参照

google-app-engine - Google App Engine プロジェクト内で Google カレンダーにアクセスする

Google App Engine (GAE) とその Python API は初めてです。先週末、カレンダーに次のイベントが表示されるたびに SMS メッセージを携帯電話に送信する簡単なアプリをセットアップしようとしました。そのために、私は Twilio と Google Calendar API (v3) で GAE を使用しています (すべて Python で)。

私は GAE アカウントを持っており、https://developers.google.com/appengine/docs/python/gettingstartedpython27/introductionとここhttps://developers.google.com/の例に従って、簡単なチュートリアル Web アプリを実行できました。 appengine/articles/twilio . また、GAE で Python スクリプトを使用して SMS メッセージを送信する cron ジョブを実行することもできました。しかし、Google カレンダー API を使用して (私の GAE アカウントの) カレンダー イベントを取得するスクリプト (cron ジョブ) を作成する方法がわかりません。Google 開発者に関するチュートリアルや手順をたくさん読みましたが、ますます混乱していることに気づきました。

  • カレンダーイベントを取得するために GAE で実行される cron ジョブ用の Python スクリプトを作成することは可能ですか? Calendar API V3 (ドメインがホストされている) にアクセスする GAE で OAuth2 認証に遭遇しましたが、これは私が達成しようとしていたものに近いですが、完全ではありません (私の計画は、ユーザー用の Web アプリを作成することではありません)。Google Calendar API がサービス アカウントで動作しないという噂は本当ですか?
  • OAuth 2.0 を使用するには、ユーザーがアクセスを許可する必要があります。私が理解しているのは、要求元のアプリケーションに一定期間 (1 時間?) アクセス トークンを返し、その後、ユーザーが更新するか、アクセス許可手順を再度実行する必要があるということです。私の目標は定期的に (たとえば 15 分ごとに) 実行されるスクリプトを作成して、次の 15 分間に予定されているカレンダー イベントがあるかどうかを確認することなので、その場合は使用したくありません。
  • GAE の所有者のアカウントから Google カレンダーのイベントを取得するための Python スクリプトの例を教えていただければ、非常に助かります。

誰かが上記の質問のいずれかに答えることができれば、私はあなたの助けを大いに感謝します.

0 投票する
1 に答える
2513 参照

python - Youtube Python API v3 呼び出し onBehalfOfContentOwner が 403 エラーを返す

パラメータ onBehalfOfContentOwner=MY_CONTENT_OWNER_ID を使用して自分の動画を検索しようとしていますが、403 Forbidden エラーが発生し続けます。

秘密鍵は認証に使用されています。

onBehalfOfContentOwner がないと、呼び出しは完全に機能しますが、タグが返されません