0

Je dois modifier la permission de chaque fichier téléchargé. Mais lorsque je tente d'ajouter ce code,getIdForEmail() n'est pas une fonction de l'API Google Drive Autorisations

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

}

Je suis une erreur de getIdForEmail n'est pas une fonction.

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

fonctionnent. Mais pourquoi gapi.client.drive.permissions.getIdForEmail ne fonctionne pas? Il y a quelque chose que je dois faire? dans la page Google Developers? dans mon code?

Répondre

3

getIdForEmail est une méthode uniquement disponible dans Google Drive v2.

Avec V3, vous allez devoir le poursuivre d'une autre manière.

Effectuez un files.list avec le paramètre q. Dans le paramètre q, indiquez à l'utilisateur les autorisations que vous souhaitez modifier. Vous pouvez voir ici comment utiliser search Cela trouverait tous les fichiers où someuser est le propriétaire.

« [email protected] » dans les propriétaires

Ensuite, vous obtiendrez une liste de file resources vous pouvez vérifier les autorisations sur chaque fichier en utilisant permissions.list et l'utiliser pour changer ceux dont vous avez besoin.

Je ne suis pas un développeur JavaScript mais je l'ai trouvé dans la documentation il montre comment utiliser la recherche pour lister les fichiers.

/** 
    * 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.'); 
     } 
    }); 
    } 

Mise à jour:

Je viens repéré cela. About.get obtient des informations sur l'utilisateur, lecteur de l'utilisateur et les fonctionnalités du système

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

pourrait-il être le même permissionId que vous cherchez?

+0

Pouvez vous les gars ajouter une réponse ici aussi, http://stackoverflow.com/questions/42788967/transfer-file-ownership-in-google-drive-api – JMA

+0

@JMA vérifier la mise à jour sur ce point. – DaImTo