2013-04-12 8 views
3

Je tente d'utiliser le nouveau dossier Application Data dans le SDK du lecteur, mais plutôt que de créer un nouveau fichier comme le montre l'exemple de code, je souhaite créer une copie d'un fichier modèle qui l'utilisateur sélectionne. Mes fichiers modèles sont des feuilles de calcul modifiables par Google, qui sont stockées dans un compte Drive spécifique et sont lisibles dans le monde entier, avec leurs identifiants configurés dans mon application.Copier un fichier Drive existant dans le dossier appdata

J'ai d'abord essayé la copie en spécifiant appdata comme ID parent dans le corps du copy request, comme suit

{ 
    "title": "New file", 
    "parents": 
    [ 
    { 
     "id": "appdata" 
    } 
    ] 
} 

ce produit une erreur 403 avec le texte

dossiers ou fichiers seulement avec le contenu stocké dans Drive sont autorisés dans le dossier appdata

J'ai donc essayé d'ajouter root en tant que second parent dans le tableau parents, comme suit

{ 
    "title": "New file", 
    "parents": 
    [ 
    { 
     "id": "appdata" 
    }, 
    { 
     "id": "root" 
    } 
    ] 
} 

Cela échoue à nouveau avec un 403, mais une erreur légèrement différente

Méthode non prise en charge pour le contenu AppData

I ont également essayé de mettre à jour la propriété parents du nouveau fichier après la création, et en insérant une nouvelle valeur dans l'entité parents du fichier nouvellement créé, les deux produisant la même 'Méthode non supportée' Erreur. Donc, ma question est, est-il possible de créer une copie d'un champ existant détenu dans Drive, dans le dossier appdata d'un utilisateur? Le fait que cela échoue systématiquement ne le suggère pas et que je devrais utiliser le stockage normal de l'utilisateur, mais je voudrais utiliser le dossier appdata si possible pour séparer le contenu de mon application de leurs fichiers Drive généraux.

Répondre

1

Actuellement, malheureusement, vous ne pouvez pas placer actuellement un fichier en temps réel dans le dossier appdata. C'est quelque chose que nous regardons ajoutant, mais dans la plupart des cas cela n'a pas de sens puisque le contenu de le dossier appdata est limité à un seul utilisateur.

Cheryl Simon sur les développeurs Google Drive - https://plus.google.com/communities/107264319205603895037

+0

Google a depuis mis à jour l'API Realtime. Vous pouvez maintenant utiliser load ou loadAppDataDocument https://developers.google.com/drive/realtime/reference/gapi.drive.realtime#gapi.drive.realtime.loadAppDataDocument –

1

J'ai rencontré le même problème.

Donc, si je crée un document natif dans le dossier AppData, je reçois: « dossiers ou fichiers Seuls les contenus stockés dans le lecteur sont autorisés dans le dossier AppData »

MAIS, je peux mettre un non un document natif (par exemple un pdf) et y accéder (par exemple, le voir).

Ce que je veux, c'est de pouvoir faire la même procédure pour les documents natifs. Le message "Seuls les dossiers ou fichiers avec du contenu stocké dans Drive sont autorisés dans le dossier appdata" me semble plus applicable aux fichiers de raccourcis par exemple. Je me demande si retourner cela pour un doc natif est un bug?

+0

Cela pourrait bien être le même problème, puisque le fichier que je copiais était également un document natif (en fait une feuille de calcul). Il serait intéressant de voir si la copie d'un fichier PDF dans appdata fonctionne. –

1

Ok, merci.

Retour à la question originale: est-il possible de déplacer un fichier dans le dossier appdata? par exemple. en supprimant tous les parents, puis en ajoutant appdata en tant que parent.

je reçois la réponse suivante: « Méthode non pris en charge pour le contenu AppData »

Ou peuvent obtenir les fichiers que là-dedans en insérant?

Questions connexes