大家好我已經從Google官方文檔中編寫了文件上傳腳本。它是服務器身份驗證的服務器,無需任何用戶交互。我的意思是這些文件打算上傳到一個帳戶,以便用戶不需要進行身份驗證,並使用服務帳戶私鑰進行身份驗證。我的文件似乎上傳得很好,因爲它沒有給我任何錯誤,並給出了完整的對象,如下面的代碼所示。Google Drive文件通過API上傳未上傳
$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:保護] =>空格 [internal_gapi_mappings:保護] =>陣列 ( )
[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
(
)
)
我已經取代我的電子郵件原來client_email @ gserviceaccount.com這裏只是爲了我的帳戶安全原因。我的問題是我無法在驅動器上的任何位置找到我的文件。我的驅動器中有舊文件,沒有新文件顯示。可能是什麼問題?它是否從API的響應中聽到文件已成功上傳?
高度讚賞任何指導。謝謝!
感謝您的答覆。我懷疑它,但不確定。這個答案有幫助。 –