1
我在谷歌創建文件與.NET client API與服務帳戶駕駛。谷歌雲端硬盤API(.NET) - 從服務帳戶所有權轉讓給域用戶
string[] scopes = new string[] { DriveService.Scope.Drive };
GoogleCredential credential;
using (var stream = new FileStream(Directory.GetCurrentDirectory() + "/Resources/GoogleCredentials.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream).CreateScoped(scopes);
}
DriveService drive = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
});
我成功地創建文件,
var f = drive.Files;
var request = f.Create(new Google.Apis.Drive.v3.Data.File()
{
Name = "Test from ASP.NET Core",
AppProperties = prop,
MimeType = "application/vnd.google-apps.document"
});
var file = await request.ExecuteAsync();
與所有域共享它,但我不能將所有權轉讓給域用戶。
Permission permission = new Permission()
{
EmailAddress = "[email protected]",
Type = "user",
Domain = "example.com",
Role = "owner"
};
var requestpermission = drive.Permissions.Create(permission, file.Id);
requestpermission.TransferOwnership = true;
var perm = await requestpermission.ExecuteAsync();
我得到錯誤:
The specified domain is invalid or not applicable for the given permission type.
我發現this link,但使用P12證書文件不推薦。所以我想使用JSON。