我正在尝试在我的React Native App中检索登录用户的访问令牌和用户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)
部分,以便我可以确定发生了什么。但它仍然返回了同样奇怪的标记&#34;。
登录时日志也会返回此错误:
2016-05-05 10:22:07.630 AppName[15097:415865] -canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"
但我认为这只是因为我的xcode模拟器上没有facebook应用程序。
有人能给我一个很好的猜测我做错了吗?
答案 0 :(得分:3)
GetCurrentAccestoken
返回一个承诺。
也许你可以试试:
AccessToken.getCurrentAccessToken().then(
(data) => {
console.log(data.accessToken.toString())
}
)
答案 1 :(得分:1)
试试这个。它对我有用
AccessToken.getCurrentAccessToken().then(
(data) => {
console.log(data.accessToken)
console.log(data.userID);
});
答案 2 :(得分:0)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='user-submitted-title'/>
<textarea id='user-submitted-content'></textarea>