从 GET 请求 Imgur API 收到错误 429

问题描述 投票:0回答:1

我从

Request failed with status code 429
得到了
Imgur API
,而我的
Client_ID
是新的,我什至没有使用过它,

这是我的 Api.ts:


const imgurClientId = process.env.NEXT_PUBLIC_Client_ID

const BASE = "https://api.imgur.com/3";
const EP_GALLERY = `${BASE}/gallery`;
const EP_GALLERY_TAGS = `${BASE}/tags`;


 async function imgurBaseApi(args: Args) {
    const myHeaders = new Headers({
      Authorization: `Client-ID ${imgurClientId}`,
    });

    args.requestOptions = {
      ...args.requestOptions,
      headers: myHeaders,
      method: "GET",
    };

    const response = await fetch(args.endPoint, args.requestOptions);
    const responseJson = await response.json();

    return responseJson.data;
  }


// how I use it:
  async function getGalleryTagMetadata(requestArgs: TypeState["requestArgs"]) {
    const endPoint = `${EP_GALLERY}/t/${requestArgs.tagName}/${requestArgs.sort}/${requestArgs.window}/${requestArgs.page}`;

    return imgurBaseApi({ endPoint: endPoint });
  }

我也尝试过使用简单的

fetch
调用,如下所示:



  const imgurClientId = process.env.NEXT_PUBLIC_Client_ID

  const sort = 'viral'
  const window = 'day'
  const page = 1

  const url = `https://api.imgur.com/3/gallery/search/${sort}/${window}/${page}?q=cats`

  const requestOptions = {
    method: 'GET',
    headers: new Headers({
      Authorization: `Client-ID ${imgurClientId}`,
    }),
  }

  fetch(url, requestOptions)
    .then((response) => {
      if (!response.ok) {
        throw new Error(`HTTP error! Status: ${response.status}`)
      }
      return response.json()
    })
    .then((data) => {
      console.log('dta', data)
    })
    .catch((error) => {
      console.error('Error:', error)
    })

我已按照 Imgur 文档 设置了我的

Client_ID
,当我使用 Postman 尝试时,它运行良好,成功完成了
GET
请求。

我的问题:

由于这是一个仅接收一些图像的应用程序,我需要执行0auth2步骤吗?

ps。完整的代码较长,但请告诉我,我将在此处打印它

提前致谢

干杯

typescript next.js axios imgur http-status-code-429
1个回答
0
投票

我根据此处提到的评论someone将package.json中的启动脚本更改为“start”:“react-scripts start --host 0.0.0.0”。然后我将浏览器指向 http://0.0.0.0:3000/,我就可以从 imgur 获得响应。

© www.soinside.com 2019 - 2024. All rights reserved.