2017-05-04 96 views
0

我最近將Google Drive的API集成到我在CodeIgniter上構建的網站上。該網站是關於寫一篇文章,並將其轉換爲Word文檔,我已經設法使用提供的API腳本上傳到Google Drive中無法預覽/打開上傳到Google文檔API的文檔

但是,我無法在Google上預覽或打開上傳的文檔駕駛。但是,從Google驅動器下載文檔並通過Microsoft Word處理器打開後,我可以查看和編輯它,請通知我應該如何使用Google文檔工具在Google驅動器上編輯我的文檔。

這裏是我用來上傳從網站生成的文檔的代碼,這裏是附加的示例文檔。

請注意:正如我前面提到的,當我將從Google下載的文檔重新上傳到Google驅動器時,文檔運行良好,我可以預覽並編輯它。

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $client->getAccessToken()) { 

// We'll setup an empty 1MB file to upload. 
$doc_file = $this->session->userdata('google_doc_file'); 
DEFINE("TESTFILE", __DIR__ . '/../../../papers/'.$doc_file.'.docx'); 
// This is uploading a file directly, with no metadata associated. 
$file = new Google_Service_Drive_DriveFile(); 
$file->setName($doc_file.'.docx'); 
$result = $service->files->create(
    $file, 
    array(
    'data' => file_get_contents(TESTFILE), 
    'mimeType' => 'text/docx', 
    'uploadType' => 'multipart' 
    ) 
);  
} 

回答

0

如果你喜歡的東西

putenv('GOOGLE_APPLICATION_CREDENTIALS=gdoc-secret.json'); 
$this->client = new Google_Client(); 
$this->client->useApplicationDefaultCredentials(); 

這些文件住在服務帳戶自己的硬盤空間,而不是你登錄。 這是賬戶嚮導建議用於Web使用的賬戶類型,但不是Google Drive APIs v3 quickstart guide使用的賬戶類型。

您可以與他人分享他們的帳戶,或設置適當的權限並使用該文件的鏈接。