2016-08-02 8 views
1

私はグラフAPIを使用して私のFacebookページのアクセストークンを取得しています。私のfacebookページのトークンを含むJSON respnseを取得するために、以下のコードを使用しました。 JSONResponseからアクセストークンを取得するandroid

AccessToken token=AccessToken.getCurrentAccessToken(); 

     GraphRequest request = GraphRequest.newGraphPathRequest(
       token, 
       "/me/accounts", 
       new GraphRequest.Callback() { 
        @Override 
        public void onCompleted(GraphResponse response) { 
         // Insert your code here 
         try { 

         //what should I do here..... 

         }catch (JSONException e) 
         { 
          e.printStackTrace(); 
         } 
        } 
       }); 

     request.executeAsync(); 

は私が

{ 
    "data": [ 
    { 
    "access_token": "<access_token_is_here>", 
    "category": "Clothing", 
    "name": "<page_name_is_here>", 
    "id": "<id_is_here>", 
    "perms": [ 
    "EDIT_PROFILE", 
    "CREATE_CONTENT", 
    "MODERATE_CONTENT", 
    "CREATE_ADS", 
    "BASIC_ADMIN" 
    ] 
} 
], 
"paging": { 
"cursors": { 
    "before": "MjkzMDAyNzM0MTYwNTQ1", 
    "after": "MjkzMDAyNzM0MTYwNTQ1" 
    } 
    } 
} 

私の質問is..How私はこのJSON応答からaccessTokenを取得することができ、応答として、このJSONを得ましたか。私はトークンをStringとして取得できることを知っています。しかし、私はそれを私のFacebookのページにステータスを投稿するために使用することができるようにアクセストークン自体としてそれを必要としています....私はこれで非常に親切に私を助ける初心者です...おかげで

答えて

0
 JSONObject response=new JSONObject(resp); 

JSONArray data=response.getJSONArray("data"); 

     String accessToken=""; 

for(int i=0;i<data.lenght();i++){ 

JSONObject temp=data.getJSONObject(i); 

if(temp.has("access_token"){ 

accessToken=temp.getString("access_token"); 

break; 

} 

} 

これを永続化したい場合はいつでも、あなたはそれをsharedPrefまたはsqliteに保存することもできます。

+0

'data'は** JSONArray **であり、** JSONObject **ではありません。 –

+1

私は文字列として私のaccessTokenを取得すれば、どうすれば別のgraphrequestで使うことができますか? – Ben

+0

答えを更新しました –

0
String accesstoken = response.getJsonArray("data").getJSONObject(0).getString("access_token"); 
関連する問題