現在我必須在用戶牆上實現共享狀態的代碼。
第一次。用戶已通過點擊「打開fb」按鈕接受我的應用的許可。不過,他們之後在他們的Facebook應用中刪除了我的應用。接下來,他們點擊「關閉fb」按鈕並再次點擊「打開fb」按鈕。 - >實際:此按鈕在沒有任何請求權限對話框的情況下打開。 - >期望:該按鈕必須關閉,並且必須顯示請求權限對話框。當用戶在Facebook應用程序中刪除我們的應用程序時,Facebook需要重新登錄
public void loginFragment(final ILoginFacebook loginFacebook) {
Session.openActiveSession(mContext, mFragment, true,
new StatusCallback() {
//to only confirm permission one time
private boolean isRequestPublishPermission = false;
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (state.isOpened()) {
if (!isSubsetOf(mFacebookPermission.getPermissions(),
session.getPermissions())) {
if (!isRequestPublishPermission) {
session.requestNewPublishPermissions(new NewPermissionsRequest(
mFragment,
mFacebookPermission.getPermissions()));
isRequestPublishPermission = true;
} else {
loginFacebook.onLoginFBFailure();
}
} else {
loginFacebook.onLoginFBSuccess();
}
} else {
int numCurrentPer = session.getPermissions().size();
int numOldPer = Session.getActiveSession().getPermissions().size();
if(numCurrentPer < numOldPer){
session.closeAndClearTokenInformation();
isRequestPublishPermission = false;
}
loginFacebook.onLoginFBFailure();
}
}
});
}
我設置了一些日誌來檢查數據回調。在最後的請求。會話,一直到舞臺{iOpened()== true}並且列表權限已滿。
會話(連同訪問令牌和權限)在本地緩存在設備上,所以直到您嘗試發出請求時,它纔會被更新。通常情況下,您可以在打開會話後向「/ me」或「/ me/permissions」發出請求,如果用戶從Facebook上刪除了您的應用,則會返回錯誤並關閉會話。 –
很抱歉,當我谷歌「/我/權限」或「/我」,它顯示我沒有結果...請幫助我。 –