問題タブ [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.
python - Google calendar api v3 python を使用して editLink と aclLink を取得できますか?
私の現在のプロジェクトは gdata を使用しており、次の呼び出しで editLink と aclLink を簡単に取得できます。
現在、API v3 に切り替えようとしています。そして、v3 API で editLink と aclLink を取得する方法が見つかりませんでした。
v3 API で editLink と aclLink を取得する方法はありますか?
どうもありがとう!
python - client_secrets.json ファイルは、GAE にデプロイされると読み取れません
dev_appserver.py
私のマシンで使用するアプリがあります。私はそれを正常に展開します:
私のアプリは Google API を使用しているため、このデプロイにはclient_secrets.json
プロジェクト フォルダーのルートにあるファイルが含まれています。そして、アプリを再ダウンロードするときに( を使用してappcfg.py download_app -A myapp -V 1 ~/myapp
)取得するため、正しく展開されているようです。
ただし、 へのアクセスが必要なスクリプトを呼び出すページを開くと、 が表示されclient_secrets.json
、Error: 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
、それともこれらの別のメカニズムですか?
python - GAE タスク キューで OAuth を必要とする操作を行うには?
/update
YouTube プレイリストを更新するページを含む単純な Google App Engine アプリがあります。次のようになります。
これは期待どおりに機能し、update_playlist()
メソッドはその役割を果たしますが、状況によってはかなり長時間実行され、DeadlineExceededError
. 利用可能なオプションについて読んだ後、Task Queue API が最適な方法であると判断し (そうですか?)、 Using Push Queues in Pythonガイドに従ってそれを使用しようとしています。
→ 要するに、私は+に分割UpdatePage
します:UpdatePageHandler
UpdatePageWorker
残念ながら、分割を行った後、私の OAuth2 デコレータはもはやその仕事をしていないようです:
そして、デコレートする代わりUpdateHandlerPage:get
にデコレートUpdateWorkerPage:post
すると、代わりに無限の失敗ループが発生します。
私に何ができる?ご協力いただきありがとうございます!
python - ローカル ウェブサーバーなしで Python で Google クライアント ライブラリを使用する
Google が提供するサンプル コードを使用して、OAuth 経由で認証する Google API と対話する Python プログラムがあります。
ただし、これを実行すると、ブラウザーが強制的に開かれ、認証のためにボタンをクリックするようにユーザーに求められます。これにより、プログラムがローカル Web サーバーのないマシンで実行される場合に問題が発生します。この質問を見たことがあります。これは、 を使用して問題を解決できることを示しているようですが、引数処理--noauth_local_webserver
に使用するようにプログラムを書き直す必要がgflags
あり、既存のコードは既に を使用していますargparse
。
アプリケーション全体を書き直さなくても、ブラウザを強制的に開かずにユーザーを認証する方法はありますgflags
か?
python - GAE cron ジョブで OAuth を必要とする操作を行うには?
この投稿は、 「GAE タスク キューで OAuth が必要な操作を行う方法」のフォローアップです。. この投稿で Bossylobster が示唆しているようuser_id
に、スクリプトで をハードコーディングしようとしましたが、cron タスクは常に失敗します。
ログでトリガーされていることがわかります...
/li>- ...ただし、常に失敗し ( AppEngine のCron ジョブセクションに赤い「失敗」として表示されます)、実行するはずのタスク キューが[タスク キュー]セクションに表示されません。
私が理解していないのは、/update
手動で開くと、以下のログインプロンプトが表示されることです。cronはどのようにそれをバイパスすることになっていますか? 何が起こっているのかをデバッグするにはどうすればよいですか?
助けてくれてありがとう。
@dlebech回答のEDIT /フォローアップlogin: admin
:関係する行に行をurl
追加した後も問題は解決しませんapp.yaml
。ローカルでは (管理者としてサインインし、ブラウザーでハンドラーの URL にアクセスして、Cron の URL をセキュリティで保護する で説明されているように) すべてうまくいきますが、デプロイすると、アプリは OAuth2 デコレーターを通過しません。
いくつかのデバッグ
/li>print
ステートメントで...... GAE ログに展開後に表示される内容は次のとおりです (ログは最後の行で停止し、次に何も起こりません)。
/li>
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) が所有するプレイリストを変更したいだけです。
しかし、それを行うにはまだ助けが必要です。ここに私の現在の状態があります:
数回検索した後、私がやりたいことはOffline Accessと呼ばれることを知りました(私のユースケースを強調して
ください)。この例には、月曜日の午前 8 時ちょうどにブロガーの投稿を作成するバックアップ サービスやアプリケーションが含まれます . このスタイルのアクセスはオフラインと呼ばれ、Web サーバー アプリケーションはユーザーにオフライン アクセスを要求する場合があります. 通常の既定のアクセス スタイルはオンラインと呼ばれます. " ...
→だから私は今していることを続け、YouTube アカウントへのアクセスを要求し続けますが、type_access=offline
フラグを使用してトークンを取得し、それを保持/後続の要求に使用する必要があります。オフライン アクセスと 更新トークンの使用セクションは完全に理にかなっていますが、一般的な HTTP レベルにとどまります。まだ初心者なので、これらの原則を自分の Python コードに統合する方法がわかりません。また、サンプルの Python コードも見つかりません
でした... → Python の例を 1 つ、どこでどのように使用するかを説明してくれる人はいますか?この旗?...そして特に、 を勉強した後で
oauth2client.appengine.OAuth2Decorator.oauth_required
も、それを自分のケースに曲げることができるかどうか、または自分のことをすべきかどうかはまだわかりません.
→どう思いますか?
御時間ありがとうございます; 必要に応じて、irc://irc.freenode.net/#appengine にも参加していronj
ます。
python - Admin SDK で Directory API にアクセスする方法
Google Admin SDK の Directory API にアクセスしようとしても無駄です (リファレンス)。「google-api-python-client」パッケージをアップグレードしても、[ダウンロード] > [インストール] > [Python] リンクで指示されているように、問題は解決しません。
API のプログラム名が記載されているドキュメントも見当たらないので、「ディレクトリ」であると想定していますが、「directory.admin」と「admin.directory」も試しました。テスト コードを実行しようとすると、次の例外が発生します。
誰かが私が見落としているかもしれないことを手伝ってもらえますか? 残念ながら、API にアクセスするためのシェルを提供する「クイックスタート」が壊れているようです (参照)。[Python] > [コマンドライン] > [プロジェクトの構成] を選択すると、「申し訳ありませんが、現在プロジェクトを構成できません」というエラーが表示されます。
カスタム ディレクトリ ライブラリ クラスで使用している関連コードは次のとおりです。
これは、API で利用できるクライアント ライブラリがまだないというだけのケースですか? もしそうなら、それはいつ利用可能になるでしょうか?
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 スクリプトの例を教えていただければ、非常に助かります。
誰かが上記の質問のいずれかに答えることができれば、私はあなたの助けを大いに感謝します.
python - Youtube Python API v3 呼び出し onBehalfOfContentOwner が 403 エラーを返す
パラメータ onBehalfOfContentOwner=MY_CONTENT_OWNER_ID を使用して自分の動画を検索しようとしていますが、403 Forbidden エラーが発生し続けます。
秘密鍵は認証に使用されています。
onBehalfOfContentOwner がないと、呼び出しは完全に機能しますが、タグが返されません