2017-04-11 12 views
-1

Facebookのユーザーのプロフィール写真のみを取得したいというAndroidアプリケーションを作成しました。GraphAPIを使用したプロフィール写真

私はグラフAPIを使ってみましたが、すべてのアルバムを提供しています。ユーザーのプロフィール写真のみを検索する方法はありますか?

私は、グラフAPIでコマンドを下回ってみました:

私/フィールド=写真{}アルバム

おかげ?。

+0

https://graph.facebook.com/UID/picture?height=200&width=200を、UIDはプロファイルIDに – Janak

+0

@Janakを=私はすべての写真を必要とします、単一ではない –

+0

@ saragZalaあなたの質問を更新してください、あなたはこれを "私はFacebookのユーザーのプロファイル写真を取得したいです。 – Janak

答えて

0

が最後に以下のコードによって溶液ました:

GraphRequest request = GraphRequest.newMeRequest(
      AccessToken.getCurrentAccessToken(), 
      new GraphRequest.GraphJSONObjectCallback() { 
       @Override 
       public void onCompleted(JSONObject object, GraphResponse response) { 
        String id; 
        try { 
         final JSONArray jsonArray = object.getJSONObject("albums").getJSONArray("data"); 
         for (int i = 0; i < jsonArray.length(); i++) { 
          if (jsonArray.getJSONObject(i).getString("name").equals("Profile Pictures")) { 
           id = jsonArray.getJSONObject(i).getString("id"); // ID of Profile Pictures Album 

           new GraphRequest(
             AccessToken.getCurrentAccessToken(), 
             "/" + id + "?fields=photos.limit(6){picture}", 
             null, 
             HttpMethod.GET, 
             new GraphRequest.Callback() { 
              public void onCompleted(GraphResponse response) { 
               try { 
                JSONObject jsonMain = response.getJSONObject(); 
                JSONObject jsonGraphObj = jsonMain.getJSONObject("graphObject"); 
                if (jsonGraphObj.has("photos")) { 
                 if (jsonGraphObj.getJSONObject("photos").has("data")) { 
                  JSONArray jsonArrayData = jsonGraphObj.getJSONObject("photos").getJSONArray("data"); 
                  for (int i = 0; i < jsonArray.length(); i++) { 
                   if (i != 0) { 
                    String url = jsonArrayData.getJSONObject(i).getString("picture"); 
                   } 
                  } 
                 } 
                } 
               } catch (Exception e) { 
                e.printStackTrace(); 
               } 
              } 
             } 
           ).executeAsync(); 
          } 
         } 
        } catch (Exception e) { 
         e.printStackTrace(); 
         DialogsUtils.removeProgressDialog(); 
        } 
       } 
      }); 

    Bundle parameters = new Bundle(); 
    parameters.putString("fields", "albums"); 
    request.setParameters(parameters); 
    request.executeAsync(); 
関連する問題