2017-05-04 16 views
0

最近GoogleドライブのAPIをCodeIgniterで構築しているウェブサイトに統合しました。ウェブサイトは、エッセイを作成し、それを私がGoogleドライブにアップロードしたAPIドキュメントを使用してアップロードしたWord文書に変換することです。Google doc 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(); 

ようなもので、これらの文書をログインしている場合は、あなたは、サービスアカウントの独自のドライブスペースではありません住んでいます。 これは、アカウントウィザードがウェブ使用に推奨するアカウントのタイプですが、Google Drive APIs v3 quickstart guideによって使用されるアカウントのタイプではありません。

他のアカウントと共有したり、適切な権限を設定したり、ファイルのリンクを使用したりすることができます。

関連する問題