在图api上使用访问令牌

时间:2015-03-07 11:48:20

标签: android json facebook facebook-graph-api

我正在尝试从此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数据?

1 个答案:

答案 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>