首页 > 解决方案 > 在 JavaScript 上验证 GitHub API

问题描述

我正在使用 axios 和 GitHub API 构建一个简单的应用程序,但我遇到了 API 身份验证问题。

我设法收到了一些请求,但我需要验证我的访问权限,因为我的可用请求数量有限:“API 速率限制超出.. . . (但好消息是:经过身份验证的请求获得更高的速率限制。)”

我已经为 GitHub 帐户生成了一个令牌,但我不知道如何使用它。这是我尝试过的:

    const fetchUsers = () => {
        axios.get('https://api.github.com/search/users?q=' + props.user, {
            'auth': {
              'username': my_user,
              'token': my_token,
            }
        })
        .then(response => {
            const users = response.data.items;
            const updatedUsers = users.map(users => {
                return {
                    ...users,
                }
            })
            setUsersLoaded(true)
            setUsers(updatedUsers)
        })
    }

我可以使用 axios 验证它还是必须使用不同的方法?

标签: javascriptrestapiaxiosgithub-api

解决方案


根据文档,您必须添加授权标头。

axios.get('https://api.github.com/search/users?q=' + props.user, {
  'headers': {
    'Authorization': `token ${my_token}` 
  }
})

否则,github 本身实际上提供了一个名为octokit的库,您可以使用它来代替 axios。


推荐阅读