2016-05-05 20 views
0

私はReact Native AppでログインユーザのアクセストークンとユーザIDを取得しようとしています。何らかの理由で、私がfbsdkcoreパッケージを更新しようとしたとき、それはもう存在しませんでした。だから、私は一般的なfbsdkパッケージ内でそれを解決しようとしました。fbsdkアクセストークンとユーザIDの取得に関する問題

私は、パッケージ内(私はaccesstokenを取得すると思われたの)JSファイルを呼び出しています:

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

のために働いていました – mtkopone

0

これを試してみてください。それは、最近「反応-ネイティブfbsdk'`からインポート{AccessToken} `でインポート、また私

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); 
      } 
     ); 
関連する問題