我正在尝试从此url获取JSON数据。 正如您所看到的,我需要访问令牌才能获得此功能。 到目前为止,我可以登录到Facebook并获取用户访问令牌
`fb.authorize(MainActivity.this, new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "OnFbError", Toast.LENGTH_SHORT);
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "OnError", Toast.LENGTH_SHORT);
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "OnComplete", Toast.LENGTH_SHORT);
Editor editor=sp.edit();
editor.putString("access_token", fb.getAccessToken());
editor.putLong("access_expires", fb.getAccessExpires());
editor.commit();
try {
updateButtonImage();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent i = new Intent(MainActivity.this, NewsFeed.class);
startActivity(i);
}`
如何使用此访问令牌访问json数据?
答案 0 :(得分:0)
通过使用Facebook SDK,您可以通过Session类管理身份验证和令牌。会话类中的getAccessToken()方法负责提供令牌。
Session session = Session.getActiveSession();
if (session != null && session.getState().isOpened()){
Log.i("sessionToken", session.getAccessToken());
Log.i("sessionTokenDueDate", session.getExpirationDate().toLocaleString());
}
通过使用此访问令牌,您可以将用户图像获取为:
https://graph.facebook.com/me/picture?access_token=<your_access_token_here>