問題タブ [google-mirror-api]

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 投票する
2 に答える
1009 参照

google-mirror-api - ミラー API サブスクリプションをテストする方法

https callbackUrl の制限とサブスクリプション全体の性質により、これはパブリックにアクセスできる URL でのみ実行できるように思えます。

これまでのところ、ローカルでの開発とデバッグを容易にする 2 つの解決策を見つけました。

1 つ目は、Google が提供するサブスクリプション プロキシサービスです。この回避策により、基本的に、カスタム URL への SSL 制限とプロキシ サブスクリプション コールバックを削除できます。

開発をローカルで行うために私が見つけた 2 番目の最も役立つ方法は、サブスクリプションのコールバック要求 (パブリックにアクセス可能なサーバーからなど) をログにキャプチャし、curl を使用してローカル/開発マシンでその要求を次のような方法で再現することです。 :

リクエストが大きくなる場合や、複数のコールバック タイプをテストする場合があるため、添え字リクエストの JSON をさまざまなファイル (例: timeline-respond.json) に入れてから実行すると便利であることがわかりました。

アプリケーションのサブスクリプションをローカルでテストするために、他の人が何をしているのか気になります。

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

perl - refresh_token 無効な認証情報エラー

私は困惑しています。Perl を使用してミラー API でアクセス トークンをロードするために更新トークンを手動で取得しようとしていますが、資格情報エラーが発生し続けます。PHP のサンプル コードで正確な HTTP 要求を読み込むと (比較のために HTTP を出力しました)、同じ refresh_token が正常に機能します。

私のPerl HTTPリクエストは次のとおりです。

*POST https://accounts.google.com/o/oauth2/token Host: accounts.google.com User-Agent: libwww-perl/6.02 Content-Length: 175 Content-Type: application/x-www-form- urlencoded client_id=client_id_goes_here&client_secret=client_secret_goes_here&refresh_token=refresh_token_goes_here&grant_type=refresh_token*

同じ refresh_token の PHP は次のとおりです。

*POST /o/oauth2/token HTTP/1.1 content-type: application/x-www-form-urlencoded content-length: 175 client_id=client_id_goes_here&client_secret=client_secret_goes_here&refresh_token=refresh_token_goes_here&grant_type=refresh_token*

私のPerlは次のようになります。

ヘルプ!:-)

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

python - トークンを更新しようとすると、invalid_grant が取得される

OAuth2Credential オブジェクトが access_token を更新しようとすると、invalid_grant のエラーが発生し、更新できなくなることがあります。私が使用したコードは、Google の python API と Mirror API の例に基づいています。

バックグラウンド:

  • oauth2client認証用のモジュールと OAuth2Credential オブジェクトを使用します。
  • OAuth2Credential オブジェクトを pickle 化して base64 化して、Google 独自のサンプル コードのようにデータベースに格納する
  • モジュールを使用apiclientしてミラー API を呼び出す
  • このコードは 3 つの異なるサーバーで実行され、送信しようとするとすべて同じ問題が発生します。
  • 私が求めるスコープは"https://www.googleapis.com/auth/glass.timeline""https://www.googleapis.com/auth/userinfo.profile"
  • access_type が「offline」に設定されていることを確認できます
  • 念のため、approval_prompt は「強制」でお願いします

ミラー API を呼び出すために使用されているコードは次のとおりです。

サービスが呼び出されると、access_token を更新する必要があることを意味する 401 が発行される可能性があります。次に、エラーinvalid_grantを伴う AccessTokenRefreshError を除く refresh メソッドを呼び出します。この時点では、access_token の有効期限が切れており、refresh_token で同じエラーが発生するだけなので、資格情報は問題ありません。

これは NTP の問題が原因で発生する可能性があると書かれているページを見たことがありますが、サーバーが同期していることを確認しました (さらに NTP サーバーを切り替えました)。文書化された他の可能性は、リサイクルされる前に 25 個のリフレッシュ トークンしか存在できないというものですが、Credential オブジェクトに store() メソッドを実装したので、リフレッシュすると新しい資格情報が所定の位置に保存されます (これが機能することを確認できます)。データベースを更新すると、データベースに新しい情報が表示されるため)。

この問題をオンデマンドで表示し始めるためのユーザーの資格情報を取得できないため、「しばらく待つ」以外に問題を再現するための条件を説明することはできません。この問題は、1 回の通話を認証して送信した直後から、100 回の通話を行ってから 1 週間後に発生することを確認しています。

今のところ問題を解決する唯一の方法は、ユーザーに再認証を依頼することですが、ユーザーの操作なしで API のオフラインを使用することを期待しているため、それは解決策ではありません。また、再認証が必要であることをユーザーに通知する方法もありません。

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

google-mirror-api - New York Times は、Glass タイムライン カードの「ちょうど今」の時間インジケーターの横にアイコンを表示する方法を教えてください。

私は Google Glass アプリを作成していますが、New York Times の小さな New York Times アイコンが、各カードの右下にある "Just Now" 時間インジケーターの右側にあることに気付きました。彼らはこれをどのように行っていますか?これは API コンソールでアップロードできるものですか、それとも各 HTML ページ カードに HTML として手動で追加する必要がありますか? また、Glass ブラウザでどのように行うのですか? テンプレートに例がありません。どんな助けでも大歓迎です!

0 投票する
2 に答える
393 参照

python - Google Glass が App Engine にない

Tomcat など、App Engine 以外のサーバーで Glassware を実行しようとした人はいますか?

Glassware アプリを動かそうとしていますが、Google App Engine 自体の使用は避けたいと考えています。私はこれにアプローチするのに苦労しており、Tomcat をサーバーとして使用します。

どんな助けでも大歓迎です。ありがとう。