GitHub API - "Get contents" 不断为有效路径返回 404
GitHub API - "Get contents" continually returning 404 for valid path
我正在使用 probot => https://probot.github.io/
我一直在开发一个 GitHub 应用程序,用于分析存储库中特定 .json
文件的日期字符串更改。
我通过订阅 push
事件并使用 webhook
.
观看它来做到这一点
我在 Node.js 中使用 request
。我遇到的问题是当挂钩运行时我不断收到 404
。我的代码如下所示:
app.on('push', async context => {
let repoOwner = context.payload.repository.owner.name;
let repoName = context.payload.repository.name;
const options = {
url: `https://api.github.com/repos/${repoOwner}/${repoName}/contents/file.json`,
headers: { 'User-Agent': 'request' }
}
request.get(options, (error, response, body) => {
console.log(body) // logs {message: 'Not Found', documentation_url:... etc
})
})
之前我没有包含 user-agent
header,它不断返回 403
- GitHub 的 api 指定你必须通过 header。这样做之后,我现在不断得到这个 404
出现 404 的可能原因:
- 存储库是私有的,您无权访问(这需要 header
"Authorization: token $TOKEN"
)
- JSON 响应(因为 the default answer is a JSON with the file contents encoded in base64) exceed 1MB. The Get Contents API 确实提到了 "This API supports files up to 1 megabyte in size."
使用 header“Accept: application/vnd.github.3.raw
”将为您提供原始内容。
我正在使用 probot => https://probot.github.io/
我一直在开发一个 GitHub 应用程序,用于分析存储库中特定 .json
文件的日期字符串更改。
我通过订阅 push
事件并使用 webhook
.
我在 Node.js 中使用 request
。我遇到的问题是当挂钩运行时我不断收到 404
。我的代码如下所示:
app.on('push', async context => {
let repoOwner = context.payload.repository.owner.name;
let repoName = context.payload.repository.name;
const options = {
url: `https://api.github.com/repos/${repoOwner}/${repoName}/contents/file.json`,
headers: { 'User-Agent': 'request' }
}
request.get(options, (error, response, body) => {
console.log(body) // logs {message: 'Not Found', documentation_url:... etc
})
})
之前我没有包含 user-agent
header,它不断返回 403
- GitHub 的 api 指定你必须通过 header。这样做之后,我现在不断得到这个 404
出现 404 的可能原因:
- 存储库是私有的,您无权访问(这需要 header
"Authorization: token $TOKEN"
) - JSON 响应(因为 the default answer is a JSON with the file contents encoded in base64) exceed 1MB. The Get Contents API 确实提到了 "This API supports files up to 1 megabyte in size."
使用 header“Accept: application/vnd.github.3.raw
”将为您提供原始内容。