0

Gmail から連絡先を取得したい。このために、私は GoogleExample.java を使用してSribeを使用し います。これは適切に機能し、トークンを提供しています。承認のために、 https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token= **のようなリンクが 表示されます

Googleとの接続処理はうまく行っていますが、

1)彼のアカウントからユーザーの連絡先を取得したいのですが、それを行う方法がわかりません。例を挙げてください

2)承認のために、リンクを手動でコピーする必要があります。手動でコピーしたくありません。

このプロジェクトの開発には struts2 を使用します。

4

1 に答える 1

1

認証を手動で行う必要はありません。スクライブでは、これはデモ目的で行われており、これを行う方法があります。

以下の手順に従ってください

  1. Google API へのリクエストを作成するコントローラーを作成します。api_key,secret を渡す必要があり、redirect_url を他の情報と共に渡すことができます。
  2. ユーザーを Google にリダイレクトし、アプリケーションを承認させます

リダイレクト URL は、OAuth/OpenID プロバイダーに、ユーザーがアプリケーションを承認/拒否したときにユーザーをリダイレクトする場所を通知します

リダイレクトが返されると、Google から認証トークンが提供されます。Google API に接続して、ユーザーの連絡先を取得できます。

これは、ユーザーがサイトにリダイレクトされたときに Google からデータを取得する方法のデモ コードです。

Verifier verifier = new Verifier(oauth_verifier);
Token accessToken = oAuthGetAccessToken.getAccessToken((Token) session.get(OAuthConstants.REQUEST_TOKEN), verifier, service);
service.signRequest(accessToken, request);
Response response = request.send();

実際に何が起こっているのか、ユーザーがリダイレクトされたときにGoogleから送信されたベリファイアトークンを使用してベリファイアを作成し、access_tokenユーザーデータにアクセスするためのキーとして機能するGoogleから内部的に取得し、最後にGoogle APIにリクエストを送信してデータを取得しました。

ユーザープロファイルからアクセスしたいすべてのデータをサービスプロバイダーに伝える最初のリクエストでスコープを設定してください。

于 2012-11-28T05:18:43.510 に答える