2017-05-04 1 views
0

저는 최근 Google 드라이브의 API를 CodeIgniter에 구축하고있는 웹 사이트에 통합했습니다. 웹 사이트는 에세이를 작성하고 API 스크립트를 사용하여 Google 드라이브에 업로드 할 수있는 Word 문서로 변환하는 것입니다.Google 문서 API에 업로드 된 문서를 미리 볼 수 없거나 열 수 없습니다.

그러나 Google에서 업로드 한 문서를 미리 보거나 열 수는 없습니다. 드라이브. 그러나 Google 드라이브에서 문서를 다운로드하고 Microsoft 워드 프로세서를 통해 열면 문서를보고 편집 할 수 있습니다. 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이 사용하는 계정 유형은 아닙니다.

다른 계정과 공유하거나 적절한 권한을 설정하고 파일의 링크를 사용할 수 있습니다.