問題タブ [google-api-js-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 投票する
1 に答える
1627 参照

javascript - 既存のアクセス トークンを使用して、Google の gapi ライブラリを使用してクライアント側の JS API 呼び出しを承認しましたか?

いくつかの背景

私は Meteor をアプリケーション フレームワークとして使用しており、accounts-googleパッケージを使用してユーザーを認証しています。アカウント パッケージを使用すると、アクセス トークンの取得や有効期限の更新などの面倒な作業がすべて処理されるため、非常に便利ですMeteor.user()

Facebook では、クライアント側の JS ライブラリを簡単にロードMeteor.user().services.facebook.accessTokenし、API のドキュメントを使用して以下のようにグラフ API リクエストを行うことができました。

https://developers.facebook.com/docs/javascript/reference/FB.api

私の問題

ドキュメントには、Google の JavaScript API を参照すると、API 呼び出しを行う場合、リクエストにアクセス トークンが自動的に含まれると記載されていますが、gapi を使用して認可リクエストを処理する場合のみです。

https://developers.google.com/api-client-library/javascript/features/authentication#MakingtheAPIrequest

これは、サード パーティの承認パッケージに依存している場合 (またはアプリケーションがクライアント側から離れて Google の認証を処理する場合) には役に立ちません。

gapi.clientライブラリ メソッドを使用してリクエストで既存のアクセス トークンを使用する方法はありますか?

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

javascript - App Engine エンドポイント: OAuth2 認証用の Javascript クライアント ライブラリには複数のポップアップが必要です

クライアント側の承認の背後にある概念を正しく理解していますか: エンドポイント API に要求を行うには、呼び出す必要があります

oauth トークンの有効期限が切れるたびに、ポップアップ ウィンドウがトリガーされます。優れたユーザー エクスペリエンスにはならないように思えます。その流れを回避する方法はありますか?

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

node.js - webpack で google-api-nodejs-client を使用した grunt ビルドのエラー

ReactJS Webpack アプリでhttps://www.npmjs.com/package/googleapisを使用しています。アルファ版であるという警告が表示されるため、問題が発生することが予想されます。これが私が抱えている問題です。

npm install googleapis --save正常にインストールされ、package.json にgoogleapis追加されましたが、実行すると次の警告が表示されます (大量のテキストであるため、リクエストに応じて投稿する多くのエラーが続きます)。"googleapis": "^2.0.2"grunt build

問題のある行~/googleapis/apis/index.jsは次のとおりです。

私が得ているエラーの1つ:

React コンポーネントで googleapis を必要とするコード:

注: コンポーネントのその他のコードは、リクエストに応じて提供できますが、この問題とは関係ないと思います。

私のpackage.json依存関係:

npm バージョン 2.5.1

ノードバージョン v0.12.1

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

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

java - ログインしていない場合のサーバー側のリダイレクト

Cloud Endpoints を使用し、クライアント側の oauth を実行してバックエンドにアクセスしています。これは問題なく動作しますが、ページ全体と添付されたスクリプトが読み込まれ、oauth 要求が完了した後にのみ、アプリの URL にアクセスした人がユーザーであるかどうかを確認できることを意味します。

サーバー側の認証を有効にして、ランディング ページとアプリに同じ URL を使用し、そのユーザーがユーザーの場合はアプリに、そうでない場合はランディング ページにリダイレクトできるようにしたいと考えています。

問題は、ユーザー チュートリアルでは認証にUserServiceを使用するのに対し、Cloud Endpoints ではOAuth Serviceを使用することです。上記にリンクされている OAuth セクションのすべてのリンクは OAuth 1 用であり、非推奨であるため、リダイレクト フィルターで OAuth を使用する方法がわかりません。

訪問者がユーザーであるかどうかをリダイレクト フィルターで確認し、同時にユーザーである場合にエンドポイントを呼び出すために使用できるトークンを取得するにはどうすればよいですか?

私はGoogle Api JS クライアントを使用してクラウド エンドポイントを呼び出しているため、ソリューションはそれと最適に統合され、gapi.auth.setToken(token)取得したトークンを使用してgapi.auth.authorize(params, callback)ダンス全体をバイパスします。

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

java - javaサーバーからgapi javascriptクライアントにgoogle api access_tokenを渡すにはどうすればよいですか?

Tomcat で実行されている Java で AuthorizationCodeFlow を使用して資格情報を取得できます。

今、サーバーで取得したアクセストークンをクライアントに戻そうとしています。これにより、gapi javascript クライアントを使用して、サーバーを経由せずにブラウザーで作業を行うことができます。

次を使用して、gapi にアクセス トークンを設定します。

次に、gapi.client.load を呼び出して、ドライブ クライアント コードを取得します。

次に、関数を呼び出して、Google ドライブでフォルダーを取得または作成します (これは、gapi.auth.authorize() を使用してテストされているため、このままのコードが機能することがわかっています)。

しかし、 getOrCreateFolder で gapi.client.drive.children.list(...) を呼び出すと、応答は

人々がこれを行ったことを示している場所を複数見てきました。しかし、これまでのところ、これを機能させることはできません。

フィドラーでは、次の応答が得られます。

少し編集されたリクエストは次のとおりです。