簡體   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