2013-04-14 164 views
0

我正在製作一個將與facebook集成的應用程序。我必須獲得用戶的friends_requests所以我要問「read_requests」的權限,現在它的複雜,我一直在努力做這兩種方法:使用使用Session LoginButton第一次登錄時無法設置一些Facebook的權限

LoginButton button = new LoginButton(this); 
button.setReadPermissions(Arrays.asList("read_requests")); 

2) 1) :

Session.OpenRequest openrequest = new Session.OpenRequest(this); 
openrequest.setPermissions(Arrays.asList("friend_requests")); 
openrequest.setCallback(statusCallback); 
session.openForRead(openrequest); 

兩種方式我都可以登錄到應用程序,但它不要求額外的權限。我注意到,當我試圖獲得電子郵件許可(「電子郵件」而不是「read_requests」),它工作正常。我知道,我可以利用這個得到這額外的權限:

Session.NewPermissionsRequest request = new Session.NewPermissionsRequest(Nowa.this, Arrays.asList("friend_requests")); 
session.requestNewReadPermissions(request); 

但我想從一開始就進入friend_requests,有沒有辦法做到這一點?感謝您的幫助

+0

「read_requests」是擴展權限。 您是否在應用程序權限部分指定了您要求的內容? –

+0

我現在就做(大約20分鐘前),它仍然不能正常工作,我查了5次;) – Janek

+0

閱讀Facebook SDK for Android。我發現這 https://developers.facebook.com/docs/reference/android/3.0/Session.NewPermissionsRequest 有一個方法setCallback。爲什麼你不試試這個,看看你的許可請求會回來什麼。 –

回答

0

我剛剛嘗試使用(2),它工作正常:對話框顯示爲「TestApp想要訪問您的公共配置文件和請求」。對於所有讀取權限,您只能在Android上看到一個對話框,即使它是擴展權限。所以,如果你得到了不同的東西,你應該確保你沒有授予這個權限 - 如果你這樣做了,你可以從你的Facebook帳戶設置中刪除它,並嘗試再次登錄。

+0

我想我找到了一個解決方案,當我想要登錄到我的應用程序時,我總是用「安裝」選項取消第一個對話框,當它是第二個顯示我想要擁有的權限時,我的不好,抱歉給您帶來不便並感謝您的幫助;) – Janek