1

Facebookに接続し、name、last_name、および最も重要なemailなどのユーザーデータを取得するSpringでJavaを使用してRESTサービスを開発しています。

このサービスには、Facebook の uid とアクセス トークンを期待するメソッドがあり、 https://graph.facebook.com/me/?fields=email ,id,last_name,name&access_token=XXXXXを呼び出して 解析することにより、ユーザー情報を取得します。 json レスポンス。

問題は、応答に電子メールがないユーザーがいるということです.電話番号を使用してアカウントを作成するため、電子メールを設定していない Facebook ユーザーがいることがわかっています。それはここの問題ではありません。

RestTemplateクラスを使用すると、メールは応答に含まれませんが、Graph API Explorerツール ( https://developers.facebook.com/tools/explorer/ ) を使用すると、メールはそこにあります。


RestTemplate を使用:

RestTemplate rest = new RestTemplate();
String jsonResponse = rest.getForObject("https://graph.facebook.com/me/?fields=" +  fields + "&access_token=" + accessToken, String.class);

JSONObject o = JSONObject.fromObject(jsonResponse);


RestTemplate による応答:

{
  "id": "xxxxxxxx", 
  "last_name": "Avila", 
  "name": "Diego Emanuel Avila"
}


Graph API Explorer での応答

{
  "id": "xxxxxxxx", 
  "email": "xxxxxx@gmail.com"
  "last_name": "Avila", 
  "name": "Diego Emanuel Avila"
}



問題が RestTemplate クラスにあるのか、Facebook Graph API にあるのかはわかりません。Facebook から適切な応答を得るために、ヘッダーなどを追加する必要があるかどうかはわかりません。

ここで答えを探して、私はこの断続的な電子メール アドレスが facebook APIで見つからないことに遭遇しましたが、それは私のものと同じ問題ではありません。


私は自分自身を明確にしたことを願っています。これで私を助けてくれます。

どうもありがとう!

4

0 に答える 0