2017-03-14 20 views
0

ファイルの所有権をメールアドレスに転送しようとしています。 は、私はこれはそのEMAILADDRESSの許可ライターが作成されますGoogleドライブAPIのファイルの所有権を転送します

var body = { 
    'emailAddress': value, 
    'type': type, 
    'role': "writer" 
    }; 
    var request = gapi.client.drive.permissions.create({ 
    'fileId': fileId, 
    'transferOwnership': false, 
    'resource': body 
    }); 
    request.execute(function(resp) { 
     ... 
    }); 

、この最初の要求を送信します。その後 は、request.execute()コールバック、 Iが第2の要求を送信し、上記要求に

var request2 = gapi.client.drive.permissions.list({ 
     'fileId': fileId 
    }); 
    body.role = role; 
    request2.execute(function(resp2) { 
     var request3 = gapi.client.drive.permissions.update({ 
     'fileId': fileId, 
     'permissionId': resp2.permissions[1].id, //permission id of writer 
     'transferOwnership': true, 
     'resource': {'role':role, 'emailAddress': value} 
     }); 
     request3.execute(function(resp3) { 
     console.log(resp3); 
     }); 
    }); 

内部に、私は、ファイル許可IDを取得するpermissions.listを使用します。 次に、許可IDを使用してアクセス許可を更新しました。私は、transferOwnershipに対するpermissions.updateリクエストを使用しました。私がここで遭遇した問題は、 "ユーザーにはこのファイルに対する十分な権限がありません"ということです。

私がここでやろうとしているのは、ファイルの所有権をemailaddressに転送することです。私のコードに何が間違っていますか?ファイルの所有権をどのように転送できますか?

答えて

0

ファイルの古い所有者と新しい所有者について考える必要があります。同じGoogleアカウントドメイン([email protected]ではなく[email protected]など)に所属していない限り、所有権を譲渡することはできません。不都合なことに聞こえるかもしれませんが、これが許されるならば、明確なセキュリティ問題があります。

同じドメインに属する場合は、十分な特権を持つスコープがあることを確認してください。

+0

ドメインを使用してファイルの所有権を移譲するサンプルを提供できますか? – JMA

+0

https://github.com/pinoyyid/googleDriveTransferOwnership/blob/master/src/couk/cleverthinking/tof/Main.javaをご覧ください。 – pinoyyid

関連する問題