1

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

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

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

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

4

1 回答 1

0

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

于 2019-07-30T16:15:55.470 回答