reactjs - 如何在 React Native 中将 Facebook Graph api 请求转换为 Axios?
问题描述
尝试将 Facebook Graph api 请求转换为 axios 格式。
const infoRequest = new GraphRequest(
'/me',
{
accessToken: tokenData.accessToken,
parameters: {
fields: {
string: 'id,email,name,picture'
}
}
},
responseInfoCallback
);
尝试了以下
const result = await axios.get('https://graph.facebook.com/me',
{
accessToken: tokenData.accessToken,
parameters: {
fields: {
string: 'id,email,name,picture'
}
}
}
);
导致错误
Facebook GraphAPI error: Error: Request failed with status code 400
解决方案
发生这种情况是因为 facebook 需要以下格式的请求 url: https ://graph.facebook.com/v9.0/me?fields=id,name&access_token=your_access_token_will_go_here
但是 axios 将 url 转换为格式:
https://graph.facebook.com/v9.0/me?fields=id%2Cname&access_token=your_access_token_goes_here
使用axios
正确的方法facebook Graph API
const accessToken = your_access_token;
const { data } = await axios({
url:
"https://graph.facebook.com/v9.0/me?fields=id,name&access_token=" + accessToken,
method: "get",
});
或放入try catch
块中
try {
const { data } = await axios({
url:
"ttps://graph.facebook.com/v9.0/me?fields=id,name&access_token=" + accessToken,
method: "get",
});
console.log("response from fb request", data);
} catch (err) {
console.log(
"There is an error occured while making request to FB Graph API: " + err
);
}
推荐阅读
- qlikview - 如何循环过去 4 周的数据
- node.js - 如何在nodejs中读取大型XLSX文件
- javascript - Vue JS - 我如何滚动(聚焦)到“活动”li 元素?
- dart - Flutter:自定义 Stepper 小部件需要 Material 小部件祖先
- ajax - 如何使用 Ajax 访问数组单选列表元素的值
- css - 如何将 vue 数组的各个元素绑定到一个类
- c# - C# 错误 CS0246 找不到类型或命名空间名称“Socket”(您是否缺少 using 指令或程序集引用)
- c - strtof - 返回错误的数字
- python - 如何使用装饰器修补 sys 属性?
- python - 如何验证数字海洋空间对象