Hallo alles, ich habe ein Skript zum Hochladen von Dateien von offiziellen Google-Dokumenten geschrieben. Es ist eine Server-zu-Server-Authentifizierung ohne jegliche Benutzerinteraktion. Ich meine, die Dateien sollen auf ein Konto hochgeladen werden, damit Benutzer nicht zur Authentifizierung benötigt werden und die Authentifizierung mit einem privaten Dienstkonto-Schlüssel erfolgt. Meine Datei scheint gut zu laden, da sie mir keinen Fehler gibt und das vollständige Objekt wie unter dem Code angezeigt wird.Google Drive-Dateien hochladen über API nicht angezeigt
$client_email = '';
$json_str = file_get_contents('private_key.json');
$json = json_decode($json_str);
$scopes = array('https://www.googleapis.com/auth/drive');
$credentials = new \Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$json->private_key
);
$client = new \Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
$service = new \Google_Service_Drive($client);
$file = new \Google_Service_Drive_DriveFile();
$file->setTitle($quote->title);
$file->setDescription($quote->description);
//$file->setMimeType($mimeType);
$result = $service->files->insert($file,array(
'data' => file_get_contents($filePath),
'mimeType' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'uploadType' => 'multipart',
'convert' => true
)
);
Google_Service_Drive_DriveFile Object
( [collection_key: protected] => Räume [internal_gapi_mappings: protected] => Array ( )
[alternateLink] => https://docs.google.com/document/d/1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w/edit?usp=drivesdk
[appDataContents] =>
[canComment] =>
[copyable] => 1
[createdDate] => 2016-05-22T22:13:46.332Z
[defaultOpenWithLink] =>
[description] => google doc quote test
[downloadUrl] =>
[editable] => 1
[embedLink] => https://docs.google.com/document/d/1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w/preview
[etag] => "An1NegRH_Q1WfUh5qt1ofDI9qPI/MTQ2Mzk1NTIyNjMzMg"
[explicitlyTrashed] =>
[exportLinks] => Array
(
[application/rtf] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=rtf
[application/vnd.oasis.opendocument.text] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=odt
[text/html] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=html
[application/pdf] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=pdf
[application/zip] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=zip
[application/vnd.openxmlformats-officedocument.wordprocessingml.document] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=docx
[text/plain] => https://docs.google.com/feeds/download/documents/export/Export?id=1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w&exportFormat=txt
)
[fileExtension] =>
[fileSize] =>
[folderColorRgb] =>
[fullFileExtension] =>
[headRevisionId] =>
[iconLink] => https://ssl.gstatic.com/docs/doclist/images/icon_11_document_list.png
[id] => 1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w
[imageMediaMetadataType:protected] => Google_Service_Drive_DriveFileImageMediaMetadata
[imageMediaMetadataDataType:protected] =>
[indexableTextType:protected] => Google_Service_Drive_DriveFileIndexableText
[indexableTextDataType:protected] =>
[kind] => drive#file
[labelsType:protected] => Google_Service_Drive_DriveFileLabels
[labelsDataType:protected] =>
[lastModifyingUserType:protected] => Google_Service_Drive_User
[lastModifyingUserDataType:protected] =>
[lastModifyingUserName] => [email protected]
[lastViewedByMeDate] => 2016-05-22T22:13:46.332Z
[markedViewedByMeDate] => 1970-01-01T00:00:00.000Z
[md5Checksum] =>
[mimeType] => application/vnd.google-apps.document
[modifiedByMeDate] => 2016-05-22T22:13:46.332Z
[modifiedDate] => 2016-05-22T22:13:46.332Z
[openWithLinks] =>
[originalFilename] =>
[ownedByMe] =>
[ownerNames] => Array
(
[0] => [email protected]
)
[ownersType:protected] => Google_Service_Drive_User
[ownersDataType:protected] => array
[parentsType:protected] => Google_Service_Drive_ParentReference
[parentsDataType:protected] => array
[permissionsType:protected] => Google_Service_Drive_Permission
[permissionsDataType:protected] => array
[propertiesType:protected] => Google_Service_Drive_Property
[propertiesDataType:protected] => array
[quotaBytesUsed] => 0
[selfLink] => https://www.googleapis.com/drive/v2/files/1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w
[shareable] =>
[shared] =>
[sharedWithMeDate] =>
[sharingUserType:protected] => Google_Service_Drive_User
[sharingUserDataType:protected] =>
[spaces] => Array
(
[0] => drive
)
[thumbnailType:protected] => Google_Service_Drive_DriveFileThumbnail
[thumbnailDataType:protected] =>
[thumbnailLink] =>
[title] => Google doc quote2
[userPermissionType:protected] => Google_Service_Drive_Permission
[userPermissionDataType:protected] =>
[version] => 19
[videoMediaMetadataType:protected] => Google_Service_Drive_DriveFileVideoMediaMetadata
[videoMediaMetadataDataType:protected] =>
[webContentLink] =>
[webViewLink] =>
[writersCanShare] => 1
[modelData:protected] => Array
(
[labels] => Array
(
[starred] =>
[hidden] =>
[trashed] =>
[restricted] =>
[viewed] => 1
)
[parents] => Array
(
[0] => Array
(
[kind] => drive#parentReference
[id] => 0AOX081rNVUe2Uk9PVA
[selfLink] => https://www.googleapis.com/drive/v2/files/1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w/parents/0AOX081rNVUe2Uk9PVA
[parentLink] => https://www.googleapis.com/drive/v2/files/0AOX081rNVUe2Uk9PVA
[isRoot] => 1
)
)
[userPermission] => Array
(
[kind] => drive#permission
[etag] => "An1NegRH_Q1WfUh5qt1ofDI9qPI/pA5gH9Z7iyxg_Vu6dNFNiyQpzOE"
[id] => me
[selfLink] => https://www.googleapis.com/drive/v2/files/1p406Vcb_cI5lgPDx4YsNmwu-mA7S0ovIPsE94PuGo6w/permissions/me
[role] => owner
[type] => user
)
[owners] => Array
(
[0] => Array
(
[kind] => drive#user
[displayName] => [email protected]
[isAuthenticatedUser] => 1
[permissionId] => 16050536308259210811
[emailAddress] => [email protected]
)
)
[lastModifyingUser] => Array
(
[kind] => drive#user
[displayName] => [email protected]
[isAuthenticatedUser] => 1
[permissionId] => 16050536308259210811
[emailAddress] =>
)
)
[processed:protected] => Array
(
)
)
Ich habe meine ursprüngliche client_email mit E-Mail ersetzt @ gserviceaccount.com hier nur aus Sicherheitsgründen. Mein Problem ist, dass ich meine Dateien nirgendwo auf meiner Festplatte finden kann. Ich habe meine alten Dateien auf dem Laufwerk und keine neuen Dateien werden angezeigt. Was könnte das Problem sein? Klingt es aus der Antwort der API, dass die Datei erfolgreich hochgeladen wurde?
Will jede Anleitung zu schätzen wissen. Vielen Dank!
Vielen Dank für Ihre Antwort. Ich bezweifelte es, war mir aber nicht sicher. Diese Antwort hilft. –