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教程 - 调用Web API

React-Native:Facebook 登录后返回应用程序?

React-Native学习指南

React-Native学习指南

React native buld 失败并显示以下消息 Failed to list versions for com.facebook.react:react-native

在 react-native 和 firebase 3.1 中登录 Facebook