2016-05-05 36 views
0

我試圖在我的React本機應用程序中檢索登錄用戶的訪問令牌和用戶ID。出於某種原因,當我嘗試更新fbsdkcore包時,它不再存在。所以,我試圖在通用的fbsdk包中解決它。檢索fbsdk訪問令牌和用戶ID的問題

我打電話的js文件(其中我認爲檢索的accessToken)在封裝爲:

const AccessToken = require('react-native-fbsdk/js/FBAccessToken'); 

,隨後在我的代碼我嘗試登錄,以便我可以看到,如果它的工作原理,只需通過:

console.log(AccessToken.getCurrentAccessToken()); 
console.log(AccessToken.getUserId); 

但日誌僅返回:

2016-05-05 10:22:28.276 [info][tid:com.facebook.React.JavaScript] { _45: 0, _81: 0, _65: null, _54: null } 
2016-05-05 10:22:28.277 [info][tid:com.facebook.React.JavaScript] undefined 

似乎這不是成爲即時通訊尋找的機器人。

我檢查的代碼在fbsdk包的js文件和getCurrentAccessToken代碼如下所示:

/** 
    * Getter for the access token that is current for the application. 
    */ 
    static getCurrentAccessToken(): Promise<?FBAccessToken> { 
    return new Promise((resolve, reject) => { 
     AccessToken.getCurrentAccessToken((tokenMap) => { 
     if (tokenMap) { 
      resolve(new FBAccessToken(tokenMap)); 
     } else { 
      resolve(null); 
     } 
     }); 
    }); 
    } 

這當然是合理的。但是,當我嘗試打電話時,由於我得到了這個非常奇怪的結果,所以我擔心在大圖中我做了錯誤的事情。我甚至修改了代碼的resolve(null)部分,以便我確定發生了什麼。但它仍然返回了同樣奇怪的「令牌」。

在登錄時的日誌也返回此錯誤:

2016-05-05 10:22:07.630 AppName[15097:415865] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)" 

但我認爲那只是因爲我沒有在我的Xcode模擬器Facebook的應用程序。

任何人都可以推測我做錯了嗎?

回答

1

GetCurrentAccestoken返回承諾。

也許你可以試試:

AccessToken.getCurrentAccessToken().then(
    (data) => { 
     console.log(data.accessToken.toString()) 
    } 
) 
+0

此外,採用了時下'進口{}的accessToken從「反應母語,fbsdk''導入 – mtkopone

0

試試這個。它的工作對我來說

AccessToken.getCurrentAccessToken().then(
     (data) => { 
      console.log(data.accessToken) 
      console.log(data.userID); 
    }); 
0
LoginManager.logInWithReadPermissions(['public_profile']).then(
      function (result) { 
       if (result.isCancelled) { 
        alert('Login cancelled'); 
       } else { 
        // alert('Login success with permissions: ' + 
        //  result.grantedPermissions.toString()); 
        AccessToken.getCurrentAccessToken().then(
         (data) => { 
          doLoginViaFb(data.userID, data.accessToken); 

         } 
        ); 

        alert(result); 
        console.log(result.toString()); 
        console.log(JSON.stringify(result)); 
       } 
      }, 
      function (error) { 
       alert('Login fail with error: ' + error); 
      } 
     ); 
相關問題