2017-10-07 51 views
1
componentDidMount() { 
let token = this.getAccessToken('access_token'); 

let config = { 
    headers: { 
    'Access-Control-Allow-Origin': '*', 
    'Content-Type': 'application/json', 
    Accept: 'application/json' 
    } 
} 

if (token) { 
    axios.get('https://api.instagram.com/v1/users/self/?access_token=' + token, config) 
    .then(res => { 
     console.log(res) 
    }) 
    .catch(err => { 
     console.log(err) 
    }) 
} 

嘗試連接到的Instagram的API調用的,但我不斷收到此錯誤:如何使API調用的Instagram與愛可信不CORS錯誤

enter image description here

我使用反應。

任何幫助將是偉大的。

回答

1

我不認爲Instagram支持跨源請求。他們確實支持jsonp。

Access-Control-Allow-Origin with instagram api

instagram jquery ajax type="GET, can't get around CORS

+0

是啊我得到它與jQuery使用jsonp工作,但axios不支持jsonp –

+0

這是問題的正確答案這是問。如果axios不支持JSONP,這是一個不同的問題(如果你想從你的前端JavaScript代碼中使用Instragram API,解決方案是不使用axios)。你不需要jQuery來使用JSONP - 你只需要使用標準的JavaScript和DOM來在DOM中創建一個'script'元素並將其'src'屬性設置爲'https://api.instagram.com/v1/users/self /?access_token ='+ token'值。 – sideshowbarker

0

您可以使用一箇中間人,讓您的請求的服務器端。有幾種可供選擇,當我搜索'沒有cors npm',但這裏是一個例子:https://www.npmjs.com/package/cors

+0

理想情況下,您可以配置您的服務器發送此請求,但如果您不想獲得該技術,則此功能非常有用,對於測試尤其方便。 – Henkers