【发布时间】:2016-08-30 23:15:21
【问题描述】:
我正在尝试在我的 React Native 应用程序中检索登录用户的访问令牌和用户 ID。由于某种原因,当我尝试更新 fbsdkcore 包时,它不再存在。所以,我试图在一般的 fbsdk 包中解决它。
我正在调用包中的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 应用程序。
谁能给我一个很好的猜测我做错了什么??
【问题讨论】:
标签: javascript facebook react-native fbsdk