我構建了一個使用XMPP連接到Facebook聊天的Facebook應用程序。它運作良好。但最近我嘗試授權它的帳戶不要求正確的權限,停止我的應用程序工作。貝婁是我的應用程序從Facebook獲得的權限的兩個屏幕截圖。一個顯然比另一個顯示更多的權限。我請求許可的代碼並沒有改變:Facebook應用程序不再請求正確的權限
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback,
savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
session.openForRead(new Session.OpenRequest(this)
.setPermissions(
Arrays.asList("xmpp_login",
"user_online_presence",
"friends_online_presence",
"read_mailbox", "read_friendlists"))
.setCallback(statusCallback));
}
}
正確的權限:
錯誤:
你是否從你的facebook應用程序獲得了所需權限的對話框?因爲如果我在開始會話時沒有記錯,它應該請求這些權限(如果不是在經過身份驗證的會話中) – JoxTraex
這些屏幕截圖顯示了用戶擁有*權限授予應用程序的權限,他們沒有顯示auth中顯示的權限集對話框顯示給用戶 - 是否正確地詢問您要求的權限?如果沒有,您確定您嘗試打開的會話是否正確應用了請求的權限集? – Igy
@Igy在進行一些測試之後,當用戶在進行身份驗證時詢問用戶的權限時,似乎並不一致,即使我的代碼永遠不會更改。 – Peter