0

我試圖從Facebook會話中使用此代碼檢索訪問令牌。會話打開,但我沒有獲取訪問令牌Android FB SDK 3.0

Session.openActiveSession(this,true,new Session.StatusCallback() 
    { 
     @Override 
     public void call(Session session, SessionState state, Exception exception) { 

      if(state.isOpened()) 
      if (exception == null) 
      { 
       Log.v("Token",session.getAccessToken()); 
       ..... 

但是我沒有獲得訪問令牌。這是返回的結果

{Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[basic_info]}, appId:XXXXXXXXXXXXXXXXX} 

我該如何解決這個錯誤?

回答

2
  1. 您輸入了在應用程序設置的keyhash?使用Facebook提供的標準代碼生成一個散列:在應用設置

    PackageInfo info = getPackageManager().getPackageInfo("<your_package_name>", PackageManager.GET_SIGNATURES); 
    
    for (Signature signature : info.signatures) 
    { 
        MessageDigest md = MessageDigest.getInstance("SHA"); 
        md.update(signature.toByteArray()); 
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
    } 
    
  2. 仔細檢查包名


UPDATE(另一種可能的解決方案)

覆蓋onActivityResult和呼叫 -

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
+0

是的,我已經做到了。 –

+0

您確定只使用此代碼來獲取keyhash? –

+0

謝謝我得到它的工作。 –

相關問題