2014-04-16 68 views
0

我有惱人的問題與登錄通過Facebook的額外share_item權限。 我的代碼登錄:Android Facebook登錄:ApiException:無法提供share_item的描述

public void startFacebookLogin() { 
    Session localSession = Session.getActiveSession(); 
    if ((!localSession.isOpened()) && (!localSession.isClosed())) { 
     Session.OpenRequest localOpenRequest = new Session.OpenRequest(this); 
     localOpenRequest.setCallback(this); 
     localOpenRequest.setDefaultAudience(SessionDefaultAudience.EVERYONE); 
     localOpenRequest.setPermissions("email", "share_item"); 
     localSession.openForRead(localOpenRequest); 
     return; 
    } 
    Session.openActiveSession(this, true, this); 
} 

和代碼來獲取會話登錄響應:

@Override 
public void call(Session session, SessionState state, Exception exception) { 
    onSessionStateChange(session, state, exception); 
    if(state == SessionState.OPENED) { 
     String facebookToken = session.getAccessToken(); 
     processFacebookToken(facebookToken); 
    } 
} 

問題是,當我打電話startFacebookLoging()第一次,在梅託德通話狀態爲「CLOSED_LOGIN_FAILED」和異常是:

com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Cannot provide description for share_item

當startFacebookLoing()被調用第二次的Facebook SDK顯示「請求的權限對話框」,而只是要求「basic_inf o「,在accept()中的狀態爲」OPENED「之後,沒有例外但是權限」email「和」share_item「不會附加到會話中。我在Facebook SDK 3.6和3.8上測試了它。

任何想法是什麼錯?我試圖在谷歌中發現「UnknownError:ApiException:無法提供share_item的描述」,但沒有任何有趣的結果。

+0

你把hashcode放在facebook開發者頁面上嗎? –

+0

當然可以。無論如何,沒有share_item權限的登錄工作正常。 – yaneq6

回答

0

求助: 好的,問題解決了。 Gracious Facebook開發人員迴應我說,share_item已被棄用,現在它不起作用(相反,您可以使用publish_stream或其他...)。但Facebook文檔中沒有關於這方面的任何信息,thx對於良好的支持FB ...