2017-02-28 58 views
0

我寫一個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

回答

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