6
votes

Google Drive API Obtenir le fichier Modifier l'URL

A partir de 04/20/2015, les documents Google API V3.0 sont obsolètes et ne fonctionneront plus la fonction de fonctionner et après cette date. Donc, toute personne utilisant cette API doit basculer pour utiliser l'API Google Drive.

J'ai intégré l'API Google Drive dans mon application PHP, mais je ne trouve pas comment obtenir une URL d'édition pour un fichier que j'ai créé ou téléchargé. Auparavant dans l'API de Google Documents après avoir téléchargé un fichier, la réponse renvoie une URL de modification qui serait une URL directe pour modifier le fichier.

J'utilise un compte de service qui utilise une clé générée par mon compte Google Developers sur https: //console.developers .google.com . Cela signifie que ma demande passe des appels au nom de mon compte de service que le compte de développeur a créé pour moi. Un compte Google Drive Service ne peut pas être accès par l'interface utilisateur du lecteur, car en tant qu'utilisateur, vous ne pouvez pas vous connecter au compte, car vous seriez un compte Google personnel.

Ce que j'ai fait est partagé mes documents que j'ai téléchargés ou créés avec mon compte personnel et que l'URL Google revient dans l'appel est nommée "alternatelink" et elle est formatée comme telle: https://docs.google.com/file/0b0nkjw07ekp9Lupuzg4tohcxdke/edit ? USP = DrivesDk

Toutefois, lorsque vous êtes connecté au compte, j'ai partagé le fichier ci-dessus avec, il apparaît simplement sur un spectateur et non l'éditeur "Google Docs"

Comment puis-je obtenir le lien d'édition d'un fichier avec API Google Drive?


0 commentaires

4 Réponses :


1
votes

Le lien que vous utilisez est correct, ce n'est pas le problème.


1 commentaires

Merci pour votre réponse. Vous êtes correct, le "Alternativallink" est le lien d'édition. Le problème était la valeur UploadType et le type MIME lors du téléchargement du fichier de document.



1
votes

L'alternateLink est l'URL de modification, et mon problème était la valeur UploadType et le type MIME pour le type de document lors de la tentative de téléchargement ou de la création du document avec l'API Google Drive.


0 commentaires

1
votes

Le problème principal était que vous devez définir Convertir true en temps de téléchargement. Sans convertir le fichier Google vous donnera le lien à la vue de ne pas modifier.

Ici , vous obtiendrez des distiques de téléchargement de fichier. Veuillez vérifier le code ci-dessous que j'ai ajouté uniquement le champ Convertisseur: - P>

$file = new Google_Service_Drive_DriveFile();
  $file->setTitle($title);
  $file->setDescription($description);
  $file->setMimeType($mimeType);

  // Set the parent folder.
  if ($parentId != null) {
    $parent = new Google_Service_Drive_ParentReference();
    $parent->setId($parentId);
    $file->setParents(array($parent));
  }

  try {
    $data = file_get_contents($filename);

    $createdFile = $service->files->insert($file, array(
      'data' => $data,
      'mimeType' => $mimeType,
      'convert' => true // To convert you file
    ));
    return $createdFile;
  } catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
  }


1 commentaires

Oui Bik, vous avez besoin de la définition de convertie sur true et que vous devez définir le type de fichier "UPLOADTTYPE" correct. Convertir = vrai; uploadtype = "média";



0
votes

L'URL de fichier de fichier peut être trouvée dans la propriété webviewLink . Vous pouvez le récupérer en faisant quelque chose comme: xxx

Pour régler les autorisations de fichier, vous pouvez utiliser: xxx

valeurs possibles pour settrole () et setType () peut être trouvé ici: https://developers.google.com/drive/api/v3/reference/permissions/create


0 commentaires