我使用Graph API来检索我的facebook页面的访问令牌。我使用下面的代码获取一个JSON respnse,其中包含我的facebook页面的令牌。
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();
我把这个JSON作为回应
{
"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"
}
}
}
我的问题是..如何通过此JSON响应获取accessToken?我知道我可以将令牌作为String ..但我需要它作为访问令牌本身,以便我可以使用它将状态发布到我的Facebook页面....我是这样的初学者如此友好帮助我...感谢
答案 0 :(得分: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中。
答案 1 :(得分:0)
String accesstoken = response.getJsonArray("data").getJSONObject(0).getString("access_token");