5

Ab dem 20.04.2015 ist die Google Documents API v3.0 veraltet und funktioniert ab diesem Datum nicht mehr. Daher muss jeder, der diese API verwendet, zur Verwendung der Google Drive-API wechseln.Google Drive API Datei abrufen URL bearbeiten

Ich habe die Google Drive API in meine PHP-Anwendung integriert, aber ich kann nicht herausfinden, wie ich eine EDIT-URL für eine Datei erhalte, die ich erstellt oder hochgeladen habe. Zuvor in der Google Dokumente-API nach dem Hochladen einer Datei gab die Antwort eine Bearbeitungs-URL zurück, bei der es sich um eine direkte URL zum Bearbeiten der Datei handeln würde.

Ich verwende ein Dienstkonto, das einen generierten Schlüssel von meinem Google Developers-Konto unter https://console.developers.google.com verwendet. Das bedeutet, dass meine Anwendung im Namen meines Dienstkontos Anrufe tätigt, die das Entwicklerkonto für mich erstellt hat. Ein Google Drive-Dienstkonto kann NICHT über die Google Drive-Benutzeroberfläche aufgerufen werden, da Sie sich als Nutzer nicht wie ein persönliches Google-Konto bei dem Konto anmelden können.

Was ich getan habe, ist meine Dokumente geteilt ich hochgeladen haben oder mit meinem persönlichen Konto erstellt und die URL google kehrt in dem Aufruf Namen „alternateLink“, und es ist so formatiert, wie zum Beispiel: https://docs.google.com/file/d/0B0nkjw07ekP9LUpuZG4tOHcxdkE/edit?usp=drivesdk

jedoch, wenn in das Konto, ich teilte die oben genannte Datei mit, es geht nur an einen Viewer und nicht der "Google Docs Editor"

Wie kann ich eine Datei bearbeiten Link mit Google Drive API?

Antwort

1

Der Link, den Sie verwenden, ist korrekt, das ist also nicht das Problem.

+0

Vielen Dank für Ihre Antwort. Sie haben Recht, der "AlternativeLink" ist der Bearbeitungslink. Das Problem war der uploadtype-Wert und mime-type beim Hochladen der Dokumentdatei. – corey

1

Der AlternateLink ist die Bearbeitungs-URL, und mein Problem war der uploadType-Wert und der MIME-Typ für den Dokumenttyp beim Versuch, das Dokument mit dem Google Drive API hochzuladen oder zu erstellen.

+0

Was ist die Schlussfolgerung? Wie kann ich die Edit-Link .... – Bik

1

Das Hauptproblem war, dass Sie Convert True in der Zeit des Uploads setzen müssen. Ohne die Datei zu konvertieren, gibt Google Ihnen den Link zum Anzeigen, um ihn nicht zu bearbeiten.

Here Sie erhalten Datei-Upload-Details. Bitte überprüfen Sie die folgenden Code Ich habe nur das Feld konvertieren: -

$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(); 
    } 
+0

Ja Bik, müssen Sie die Konvertierung auf True festgelegt, und Sie müssen die richtige Datei "uploadType" Typ festlegen. konvertieren = wahr; uploadType = "Medien"; – corey