![](/img/trans.png)
[英]How to get Facebook Additional Permissions with android sdk 3.0 beta?
[英]Facebook SDK 3.0 - additional permissions
有一項任務是為服務器端訪問令牌提供幾種權限(多次讀取和發布)。 在3.0版中,有2種單獨的會話打開方法:openForRead和openForPublish。
在開始時,應用程序要求讀取權限:
private void authorizeFacebook() {
if (DEBUG)
Log.d(TAG, "Facebook authorization");
Session session = Session.getActiveSession();
if (!session.isOpened() && !session.isClosed()) {
session.openForRead(this.createReadRequest());
} else {
Session.openActiveSession(this, true, mFacebookSessionCallback);
}
}
但是在狀態回調之后,應用程序請求發布權限:
if (session.isOpened() && !session.getPermissions().contains("publish_stream")) {
if (DEBUG)
Log.d(TAG, "Facebook, Request additional permission: Publish Stream");
session.requestNewPublishPermissions(new NewPermissionsRequest(this, Arrays.asList("publish_stream")).setCallback(mFacebookSessionCallback).setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO));
用戶體驗中存在一個巨大的問題,因為在請求了額外的權限后,facebook登錄表單出現了,並且用戶必須再次輸入憑據...它是否按SDK開發人員的設計工作?..還是我做錯了什么?
我發現如果用戶未在其Android設備上安裝Facebook應用程序,則每次要求他/她提供其他權限時,都會出現登錄屏幕。 但是,如果用戶確實在其設備上安裝了Facebook應用程序,那么我發現他/她只需要單擊“是/否”按鈕來確認/取消確認其他權限。
順便說一句,我整理了三篇簡短的文章,解釋了如何打開Facebook會話,請求其他權限等等。 這是第一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.