我想访问Google云端硬盘以使用Google.Apis.Drive.v3上传文件。 这是我的代码:
protected async void btnConnectGoogleDrive_Click(object sender, EventArgs e)
{
string[] Scopes = { DriveService.Scope.Drive };
UserCredential credential;
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets
{
ClientId = "",
ClientSecret = ""
},
Scopes,
"user",
CancellationToken.None);
InsertGoogleDriveToken(credential.Token.AccessToken, areaID, "accesstoken");
InsertGoogleDriveToken(credential.Token.RefreshToken, areaID, "refreshtoken");
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "SocialLadder",
});
GoogleDriveUpload(service, areaID);
}
在这里,我能够获取AccessToken和RefreshToken,但是用户没有重定向到权限页面,因此当我尝试上载图像进行驱动时,出现“ permission_not_granted”错误。在MVC中使用了同样的东西,效果很好。
请帮助我解决这个问题。
答案 0 :(得分:1)
我怀疑您已经更改了范围。您需要验证用户。请执行以下任一操作
然后您的应用程序应要求用户再次进行身份验证。