繁体   English   中英

在Android中如何添加user_photos权限来获取facebook专辑照片?

[英]In Android how to add user_photos permission to get the facebook album photos?

我正在使用facebook android sdk访问用户的脸书专辑和实习生获取照片。 但是,当我执行"https://graph.facebook.com/"+wallAlbumID+"/photos?access_token="+facebook.getAccessToken()它会返回空白数据。 { "data": [] }

在stackoverflow问题Graph API for Photouser_photos了我需要在创建facebook对象时给予user_photos权限。 我不知道该怎么做。我阅读了很多论坛,并检查了SOF,但找不到解决方案。

这就是我创建facebook对象的方式

facebook = new Facebook(APP_ID);

任何人都可以帮我这个。

您需要创建要访问的权限的ArrayList 例如,当我这样做时,在声明变量时。

private static final String[] PERMISSIONS = { "user_photos" };

然后,在实现用户登录区域时:

if (!facebook.isSessionValid()) {
    facebook.authorize(this, PERMISSIONS, new LoginDialogListener());
}

希望这可以帮助!

您需要使用Facebook SDK 3.0+。 此外,在FB站点的开发人员设置中启用OAuth客户端登录流程 然后您可以使用以下代码:

  1. 首先,将用户登录到应用程序内部的FB以获取Session对象,然后在未授权的情况下请求user_photos的权限:

     // start Facebook Login Session.openActiveSession(this, true, new Session.StatusCallback() { // callback when session changes state @Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { // check for permission to see user photos if (!hasPhotoPermissions()) session.requestNewPublishPermissions(new Session.NewPermissionsRequest(MyActivity.this, "user_photos")); else { // photos permission granted, fetch user's albums fetchAlbumsFromFB(session); } } } }); 
  2. 这是hasPhotoPermissions()方法的样子:

     private boolean hasPhotoPermissions() { Session session = Session.getActiveSession(); return session.getPermissions().contains("user_photos"); } 
  3. 然后,您的应用会将照片权限屏幕显示给用户以供审批。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM