1

Google ドライブ api v2 を使用して、Google ドライブ内の一部のファイルのアクセス許可を更新したいと考えています。すべて正常に動作し、ファイル リスト、アクセス許可の挿入、.... アクセス許可の更新のみ 問題がありますが、所有者を変更したい場合のみです。

「transferOwnership」と呼ばれるパラメーターがあります。これをhttps://developers.google.com/drive/v2/reference/permissions/updateで「試してみる」を true に設定すると、すべて正常に動作しますが、わかりません/見つけることができます私のコードでこのパラメータを設定する方法!?

var permissionresult = UpdatePermission(service, "fileid", "permissionid", "owner");


public static Permission UpdatePermission(DriveService service, String fileId,
    String permissionId, String newRole)
{
    try
    {
        // First retrieve the permission from the API.
        Permission permission = service.Permissions.Get(fileId, permissionId).Execute();
        permission.Role = newRole;

        return service.Permissions.Update(permission, fileId, permissionId).Execute();
    }
    catch (Exception e)
    {
        Console.WriteLine("An error occurred: " + e.Message);
    }
    return null;
}

誰かが私を助けてくれることを願っています。それが私のアプリを完成させるために必要な最後のことです。

ありがとうマーカス

4

3 に答える 3

1

、およびフィールドPermissionを変更するには、新しいインスタンスを初期化するか、既存のものを使用する必要があります。RoleTypeValue

Permission p = new Permission();
p.Role = "owner";
p.Type = "user";
p.Value = "jbd@google.com";
service.Permissions.Update(p, fileId, permissionId);
于 2013-08-15T15:22:42.697 に答える
0

これがあなたが望んでいたものだと思います:

var permissionresult = UpdatePermission(service, "fileid", "permissionid", "owner");


public static Permission UpdatePermission(DriveService service, String fileId,
    String permissionId, String newRole)
{
    try
    {
        // First retrieve the permission from the API.
        Permission permission = service.Permissions.Get(fileId, permissionId).Execute();
        permission.Role = newRole;

        //Call the TransferOwnership property
        var updatePermission = service.Permissions.Update(permission, fileId, permissionId);
        updatePermission.TransferOwnership = true;
        return updatePermission.Execute();
    }
    catch (Exception e)
    {
        Console.WriteLine("An error occurred: " + e.Message);
    }
    return null;
}
于 2014-08-04T13:46:10.550 に答える