React Native:Facebook API /me/picture 调用返回 FACEBOOK_NON_JSON_RESULT
Posted
技术标签:
【中文标题】React Native:Facebook API /me/picture 调用返回 FACEBOOK_NON_JSON_RESULT【英文标题】:React Native: Facebook API /me/picture call returns FACEBOOK_NON_JSON_RESULT 【发布时间】:2017-02-28 14:58:24 【问题描述】:我正在编写一个 android 应用程序并使用 facebook/react-native-fbsdk 检索用户的 Facebook 个人资料图片。调用返回:
FACEBOOK_NON_JSON_RESULT: '����\u0000\u0010JFIF\u0000\u0..
使用 Graph API Explorer 返回正确的结果(带有图片 url 的 JSON)。
身份验证正确完成,所有其他调用都返回预期数据。
这是我的代码:
const request = new GraphRequest(
'/me/picture',
accessToken: 'MY_ACCESS_TOKEN_HERE',
parameters:
fields:
string: 'redirect,url'
,
(error, result) =>
console.log(result);
);
new GraphRequestManager().addRequest(request).start();
有什么想法我可能做错了吗? 谢谢。
【问题讨论】:
此端点的默认设置是重定向到 CDN 上的实际图像位置。如果你想要 JSON,你需要请求它。 developers.facebook.com/docs/graph-api/reference/user/picture @CBroe 我认为redirect
字段应该这样做(返回json而不是cdn图像),我错了吗?
不是字段,是附加参数named redirect
.
【参考方案1】:
// callback function
const responseInfoCallback = (error, result) =>
if (error)
console.log(error)
alert('Error fetching data: ' + error.toString());
else
console.log(result)
alert('Success fetching data: ' + result.toString());
// request
const infoRequest = new GraphRequest(
'/888284244657368/picture',
accessToken: accessToken,
parameters:
type:
string: 'large'
,
redirect:
string: 'false'
,
responseInfoCallback
);
// Start the graph request.
new GraphRequestManager().addRequest(infoRequest).start()
【讨论】:
以上是关于React Native:Facebook API /me/picture 调用返回 FACEBOOK_NON_JSON_RESULT的主要内容,如果未能解决你的问题,请参考以下文章
React-Native:Facebook 登录后返回应用程序?
React native buld 失败并显示以下消息 Failed to list versions for com.facebook.react:react-native