【发布时间】:2018-08-23 21:32:25
【问题描述】:
我想访问 Google Drive 以使用 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 中使用相同的东西,效果很好。
请帮我解决这个问题。
【问题讨论】:
-
您使用的是服务帐号还是普通用户帐号?
-
我使用的是普通用户帐号
标签: c# google-api google-drive-api google-oauth google-api-dotnet-client