node.js - 使用 octokit 添加用户作为 github 组织的协作者以 404 结束

标签 node.js github-api octokit-js

我想使用 NodeJS octokit/rest 库将 GitHub 用户添加为组织存储库的协作者。即使我的用户帐户具有具有必要权限的有效访问 token ,库和手动发送到 GitHub API 的请求也会响应 HTTP 404 - 未找到。

我正在尝试将 GitHub 用户添加为组织存储库的协作者,无论他们是否是组织本身的成员。 我的请求用户通过具有所需权限的个人访问 token 进行身份验证。 我使用 'octokit/rest 的 repos.addCollaborators 函数,将组织名称作为所有者,将存储库名称作为存储库,将要添加的用户的用户名作为参数对象的用户名属性。 octokit 对象使用我的帐户访问 token 进行身份验证。我的用户帐户是该组织的所有者。

this.octokit = new Octokit({
            auth: accessToken,
            log: {
                debug: (msg) => { logger.debug(`${msg}`); },
                error: (msg) => { logger.error(`${msg}`); },
                info: (msg) => { logger.info(`${msg}`); },
                warn: (msg) => { logger.warn(`${msg}`); }
            },
            userAgent: process.env.APP_NAME
});
// ...
this.octokit.repos.addCollaborator({
                owner: ownername,
                repo: url[url.length - 1],
                username
}).catch((msg) => {
                logger.verbose(`Error message ${msg}`);
});

关于文档,我希望向用户发送邀请。
不幸的是我得到了 404 Not Found。

当我使用curl时也会发生同样的情况:

curl -u myUsername:token -X PUT https://api.github.com/repos/:organizationname/:reponame/collaborators/:collaboratorname?permission=push

执行成员资格请求时会出现相同的行为。

最佳答案

我尝试了几个权限范围。看起来前两个 token 的权限太多了(?!)。工作权限范围似乎是“admin:org、notifications、repo、write:discussion”。

关于node.js - 使用 octokit 添加用户作为 github 组织的协作者以 404 结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57273177/

相关文章:

curl - Github API v3 不显示所有用户存储库

javascript - 如何在浏览器上使用Octokit的 `request.js`?

github - 如何知道 git pull 请求是否通过 github api 获得批准

node.js - Node 在 ansi 模块上抛出错误

node.js - AWS Lambda 中的递归调用/ fork 调用

javascript - TypeError : callback. 应用不是函数

github - 从 GitHub 存储库获取文件信息的 GraphQL 查询

node.js - 如何在 Node.js 中验证 GitHub 应用程序?

javascript - 使用nodeJs和firestore数据库添加数据而不是替换它