阵营母语:Facebook的API/ME /图片调用返回FACEBOOK_NON_JSON_RESULT

问题描述:

我写一个Android应用程序,并使用facebook/react-native-fbsdk检索用户的Facebook个人资料图片。调用返回的:阵营母语:Facebook的API/ME /图片调用返回FACEBOOK_NON_JSON_RESULT

{ FACEBOOK_NON_JSON_RESULT: '����\u0000\u0010JFIF\u0000\u0..}

使用Graph API Explorer返回正确的结果(JSON与图片URL)。

认证做正确和所有其他调用返回预期的数据。

这里是我的代码:

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(); 

任何想法我可以做错了吗? 谢谢。

+0

默认此端点是发出一个重定向到的CDN的实际图像位置。如果你想要JSON,你需要问它。 https://developers.facebook.com/docs/graph-api/reference/user/picture – CBroe

+0

@CBroe我认为'redirect'场应该这样做(返回JSON而不是CDN图像),是我错了吗? – euvl

+1

这不是一个领域,它是_named_'redirect'的附加参数。 – CBroe

// 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()