0

アップロードされたすべてのファイルのアクセス許可を変更する必要があります。私はgetIdForEmail()はGoogleドライブAPIの機能ではありません許可

printPermissionIdForEmail(email) { 
var request = gapi.client.drive.permissions.getIdForEmail({ 
    'email': email, 
}); 
request.execute(function(resp) { 
    return ('ID: ' + resp.id); 
}); 

}

、このコードを追加しようとすると、しかし、私はgetIdForEmailのエラーを得た機能ではありません。

gapi.client.init, gapi.auth2.getAuthInstance(), 

が機能しています。しかし、なぜgapi.client.drive.permissions.getIdForEmailが機能していないのですか?私は何かする必要がありますか? Google Developers Pageの私のコードで?

答えて

3

getIdForEmailは、Googleドライブv2でのみ使用できる方法です。

V3では、別の方法でそれを後にする必要があります。

files.listにqパラメータを指定してください。 qパラメータには、変更するパーミッションをユーザーに指定します。 searchこれはsomeuserが所有者であるすべてのファイルを見つけるでしょう。所有者

[email protected]」次に、あなたが、その後permissions.listを使用して、各ファイルのパーミッションをチェックし、必要なものを変更するためにそれを使用することができますfile resourcesのリストを取得します。

私はJavaScriptの開発者ではありませんが、これは、リストファイルへの検索を使用する方法を示すドキュメントでこれを発見しました。

/** 
    * Print files. 
    */ 
    function listFiles() { 
    gapi.client.drive.files.list({ 
     'q': "'[email protected]' in owners", 
     'fields': "*" 
    }).then(function(response) { 
     appendPre('Files:'); 
     var files = response.result.files; 
     if (files && files.length > 0) { 
     for (var i = 0; i < files.length; i++) { 
      var file = files[i]; 
      appendPre(file.name + ' (' + file.id + ')'); 
     } 
     } else { 
     appendPre('No files found.'); 
     } 
    }); 
    } 

更新:

私はこれを見つけました。 About.getは、ユーザー、ユーザーのドライブ、およびシステム機能

{ 
"user": { 
    "kind": "drive#user", 
    "displayName": "Linda Lawton", 
    "photoLink": "xxxx", 
    "me": true, 
    "permissionId": "060305882255734372", 
    "emailAddress": "[email protected]" 
} 
} 

についての情報を取得し、それはあなたが探していたのと同じpermissionIdだろうか?

+0

あなたもここで回答を追加できますか?http://stackoverflow.com/questions/42788967/transfer-file-ownership-in-google-drive-api – JMA

+0

@JMAでこれをチェックしてください。 – DaImTo

関連する問題