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=*******&section=food&ll=+++40.74224%2C-73.99386&v=20190909

所以也许可以试试 axios.get(endpoint + "?" + new URLSearchParams(parameters))

另外我刚刚看到他们 return 400 错误类型为

的未授权请求

"errorType":"invalid_auth"

因此请务必检查您的错误类型到底是什么。