我有一個應用程序,我收到用戶的個人信息登錄,並使用讀取權限獲取用戶的郵件。這工作正常!當用戶要求發佈帖子時,我要求獲得發佈許可,並且它也可以正常工作。Facebook SDK v3.14.1 requestNewPublishPermissions未更新用戶權限? Android
將Facebook Android SDK從v3.0.1升級到v3.14.1時遇到問題 請求新的發佈權限,然後發佈與v3.0.1一樣正常,但使用v3.14.1我無法將用戶的權限更新爲發佈。代碼在下面,有什麼改變嗎?我在文檔上尋找它,但沒有任何線索。
當我接收上Session.StatusCallBack呼叫事件:
if (session != null) {
LogUtils.LogI(FacebookHelper.class, session.toString());
if (session.isOpened()) {
CheckForPublish(context, session, listener);
} else if (session.isClosed()) {
// Logout successful
listener.onLogoutSucceed();
}
} else {
LogUtils.LogI(FacebookHelper.class, "session is null");
listener.noSession();
}
if (exception != null) {
if (exception.getClass().getSimpleName()
.equals("FacebookOperationCanceledException")) {
listener.onLoginCanceled();
} else {
listener.onError(null);
}
}
和CheckForPublish方法是:
if (!session.getPermissions().contains(listener.getPublishPermission()[0])) {
LogUtils.LogI("Asking for publish permission...");
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(activity, listener.getPublishPermissionAsList());
session.requestNewPublishPermissions(newPermissionsRequest);
} else {
// Login successful,
listener.onLoginSucceed();
}
而且logcat的輸出是這樣的:
問計出版許可...
會議{會話狀態:OPENED_TOKEN_UPDATED,令牌:{的accessToken令牌:ACCESS_TOKEN_REMOVED權限:安裝,public_profile,電子郵件]},APPID:1401502483442997}
(#200)的用戶未授權應用程序執行此操作
權限未更新,超過該用戶甚至沒有看到任何權限請求來接受它。