2013-10-27 3 views
2

Google 드라이브에 파일을 업로드하는 간단한 PHP 스크립트를 만들었습니다. 그런 다음 다음 함수를 실행합니다.Google 드라이브 API로 게시 된 플래그를 true로 설정할 수 없습니다.

오류 메시지가 나타나지만 문서가 게시되지 않았습니다.

Google API 탐색기를 사용하여 플래그를 설정하려고 시도하면 오류가 반환되지 않고 게시 된 플래그도 true로 설정되지 않습니다. 나는 명백한 것을 놓치고 있는가?

나는 파일을 업로드하려고 시도하는 즉시 '웹에 게시'를 눌러 시뮬레이션합니다. 또한 revisions.update

업데이트를 사용하여 시도 :

좋아, 문서를 업로드 할 수 있는지 알아 냈어요를하고 게시 할 Google 문서 형식으로 변환. 그러나 문서가 Google 문서로 저장되면 headrevisionid가 설정되지 않아 revisions.update 또는 revisions.patch를 사용할 수 없습니다.

누구나 Google 문서 파일을 게시하는 방법을 알고 계십니까?

답변

2

알았어. 알아 냈어.

파일을 업로드이 당신

$PublishURL = 'https://docs.google.com/document/d/'.$fileId.'/pub'; 
에 대해 수행되지 않는

$createdFile = $service->files->insert($file, array(
    'data' => $data, 
    'convert' => 'true', 
)); 

그런 다음 그런 다음 publishedlink를 구축 진정한

$revisionId = 1; //The revisionId for a newly created google doc will = 1 
function updateRevision($service, $fileId, $revisionId) { 
     $patchedRevision = new Google_Revision(); 
     $patchedRevision->setPublished(true); 
     $patchedRevision->setPublishAuto(true); 
     $patchedRevision->setPublishedOutsideDomain(true); 
     try { 
     return $service->revisions->patch($fileId, $revisionId, $patchedRevision); 
     } catch (Exception $e) { 
     print "An error occurred: " . $e->getMessage(); 
     } 
     return NULL; 
    } 

에 게시 된 플래그를 업데이트 Google 문서로 변환

+0

매우 도움이됩니다. 대단히 감사합니다! 내 하루를 저장했습니다. : DDDD –

관련 문제