Foursquare API React Native 无缘无故的错误请求
Foursquare API Bad Request for no reason on React Native
我正在尝试使用本机反应从 foursquare API 拉出附近的场所。
一开始我试图从一些指定的坐标中拉出场地,这是我非常简单的代码;
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import axios from 'axios'
export default function App() {
var venues;
return (
<View style={styles.container}>
<Text>{this.venues} qwewqe</Text>
<Button
onPress={() => {
this.getVenues()
}}
title="GET VENUES"
/>
</View>
);
}
getVenues = () => {
const endpoint = 'https://api.foursquare.com/v2/venues/explore'
const parameters = {
CLIENT_ID:"*******",
CLIENT_SECRET:"*******",
section: "food",
ll: " 40.74224,-73.99386",
v: "20190909"
}
axios.get(endpoint + new URLSearchParams(parameters))
.then(response => {
console.log(response)
this.venues = response;
return response;
})
.catch(error => {
console.log("ERROR >> " + error)
})
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
控制台输出:
ERROR >> Request failed with error code 400
嗯,如您所知,400 是错误的请求。所以代码在某些方面看起来很有效。
我不明白我的请求有什么问题?还检查了文档但没有。有关错误详细信息,我在浏览器上 运行 但我收到 getVenues is not a function 错误。
感谢您的支持...
您使用提供的语法创建了错误的 URL,因为
axios.get(endpoint + new URLSearchParams(parameters))
生成类似
的内容
https://api.foursquare.com/v2/venues/exploreCLIENT_ID=*******&CLIENT_SECRET=*******§ion=food&ll=+++40.74224%2C-73.99386&v=20190909
所以也许可以试试 axios.get(endpoint + "?" + new URLSearchParams(parameters))
另外我刚刚看到他们 return 400 错误类型为
的未授权请求
"errorType":"invalid_auth"
因此请务必检查您的错误类型到底是什么。
我正在尝试使用本机反应从 foursquare API 拉出附近的场所。
一开始我试图从一些指定的坐标中拉出场地,这是我非常简单的代码;
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import axios from 'axios'
export default function App() {
var venues;
return (
<View style={styles.container}>
<Text>{this.venues} qwewqe</Text>
<Button
onPress={() => {
this.getVenues()
}}
title="GET VENUES"
/>
</View>
);
}
getVenues = () => {
const endpoint = 'https://api.foursquare.com/v2/venues/explore'
const parameters = {
CLIENT_ID:"*******",
CLIENT_SECRET:"*******",
section: "food",
ll: " 40.74224,-73.99386",
v: "20190909"
}
axios.get(endpoint + new URLSearchParams(parameters))
.then(response => {
console.log(response)
this.venues = response;
return response;
})
.catch(error => {
console.log("ERROR >> " + error)
})
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
控制台输出:
ERROR >> Request failed with error code 400
嗯,如您所知,400 是错误的请求。所以代码在某些方面看起来很有效。
我不明白我的请求有什么问题?还检查了文档但没有。有关错误详细信息,我在浏览器上 运行 但我收到 getVenues is not a function 错误。
感谢您的支持...
您使用提供的语法创建了错误的 URL,因为
axios.get(endpoint + new URLSearchParams(parameters))
生成类似
的内容https://api.foursquare.com/v2/venues/exploreCLIENT_ID=*******&CLIENT_SECRET=*******§ion=food&ll=+++40.74224%2C-73.99386&v=20190909
所以也许可以试试 axios.get(endpoint + "?" + new URLSearchParams(parameters))
另外我刚刚看到他们 return 400 错误类型为
的未授权请求"errorType":"invalid_auth"
因此请务必检查您的错误类型到底是什么。