【发布时间】:2020-05-11 14:46:42
【问题描述】:
我正在使用 .NET google 客户端库中的 Google DRIVE API,并希望从服务帐户模拟用户。我读过许多其他面临同样问题的用户,但没有一个修复对我有用。下面是详细内容。
1) 创建服务帐号并启用 DWD 2) 下载的 JSON 文件 3) 添加了具有 API 范围的客户端 ID,我必须在管理 API 客户端访问时使用这些 ID 4)增加了对shard驱动器的权限 5)使用以下代码创建服务并从谷歌驱动器上传/获取数据
string [] scopes=new string[]
{
driveservice.scope.drive,
drivesercie.scope.drivefile,
driveservice.scope.driveappdata,
driveservice.scope.drivemetadata
};
GoogleCredential cred;
using(var stream=new FileStream(Keyfilepath,Filemode.open,FileAccess.Read))
{
cred=GoogleCredential.FromStream(stream).createdscoped(scopes).createwithuser(UserEmail);
}
这段代码使用相同的代码可以正常工作,但在出现错误后我刚刚更改/更新了 API 客户端范围。
我尝试过的。
1) 为同一个项目创建了新的服务帐户和客户端 ID,但出现相同的错误。(在完成 DWD 和更新 API 范围后等待 24 小时) 2) 使用客户端 ID(启用 DWD)创建了新项目和新服务帐户,但出现相同的错误。
错误:“unauthorized_client”,描述:“客户端未经授权无法使用此方法检索访问令牌。”,Uri:“”
谢谢
【问题讨论】:
标签: .net google-workspace