知道为什么我的GitHub App可以使用本地的相同服务调用来管理文件内容的更新,而部署时却失败了吗?

问题描述

这是我正在致电Github Api。

updateFileContent(userName: string,repoName: string,folderName: string,fileName: string,content: any): Observable<any> {
    const options = {
        headers: new HttpHeaders({
            'Content-Type': 'application/vnd.github.v3+json',Authorization: 'token ' + sessionStorage.getItem('access_token')
        })
    };
    return this.http.put<any>('https://api.github.com/repos/' + userName + '/' + repoName + '/contents/' + folderName + '/' + fileName,content,options);
}

因此,当我在localhost上运行时,这段代码可以在我的ASP.NET Core-Angular应用程序上完美运行。但是失败,当我在Azure网站上部署应用程序后尝试相同的操作时,出现403禁止的“资源无法通过集成访问”错误消息。任何帮助深表感谢。

解决方法

找到了解决问题的方法。用户登录后生成的访问令牌将无法访问GitHub API。我们需要生成一个个人访问令牌才能使用该API并使其正常工作。