2017-02-07 2 views
1

Как загрузить файл презентации (ppt, pptx, pdf) в службу Google Презентации с помощью PHP.Как загрузить файл презентации в Google Слайды с помощью PHP?

я не нашел пример в этих ссылок:

https://developers.google.com/slides/quickstart/php

https://developers.google.com/api-client-library/php/support

Мой код:

$service = new Google_Service_Drive($client); 

     $fileMetadata = new Google_Service_Drive_DriveFile([ 
      'name'  => 'My Presentation', 
      'mimeType' => 'application/vnd.google-apps.presentation', 
      // 'mimeType' => 'application/vnd.google-apps.document', 
     ]); 

     $file = $service->files->create($fileMetadata, [ 
      'data'  => file_get_contents(realpath(dirname(__FILE__)).'/Modelo_Slide_Padrao.pptx'), 
      // 'mimeType' => 'application/vnd.ms-powerpoint', // 'application/pdf', 
      'uploadType' => 'multipart', 
      'fields'  => 'id', 
     ]); 
     printf("File ID: %s\n", $file->id); 

Кто-то мне помочь?

спасибо.

+0

Did'nt work! ( –

+0

Какой из них не сработал? Pptx? – Morfinismo

+0

Да. Не работал с pptx. –

ответ

2

Вы не можете загрузить файл презентации в Google Презентации. Вам необходимо импортировать файл на Google Диск с помощью типа Google Doc. Взгляните на reference documentation, в котором есть пример того, как этого достичь. Вот примеры того, как достичь того, что вам нужно.

PPT в Google Слайды презентации:

$service = new Google_Service_Drive($client); 

    // CREATE A NEW FILE 
    $file = new Google_Service_Drive_DriveFile(array(
    'name' => 'PPT Test Presentation', 
    'mimeType' => 'application/vnd.google-apps.presentation' 
)); 

    $ppt = file_get_contents("SamplePPT.ppt"); // read power point ppt file 

    //declare opts params 
    $optParams = array(
    'uploadType' => 'multipart', 
    'data' => $ppt, 
    'mimeType' => 'application/vnd.ms-powerpoint' 
); 

    //import pptx file as a Google Slide presentation 
    $createdFile = $service->files->create($file, $optParams); 

    //print google slides id 
    print "File id: ".$createdFile->id; 

PPTX в Google Слайды презентации:

$service = new Google_Service_Drive($client); 

    // CREATE A NEW FILE 
    $file = new Google_Service_Drive_DriveFile(array(
    'name' => 'PPTX Test Presentation', 
    'mimeType' => 'application/vnd.google-apps.presentation' 
)); 

    $pptx = file_get_contents("SamplePPTX.pptx"); // read power point pptx file 

    //declare opts params 
    $optParams = array(
    'uploadType' => 'multipart', 
    'data' => $ppt, 
    'mimeType' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation' 
); 

    //import pptx file as a Google Slide presentation 
    $createdFile = $service->files->create($file, $optParams); 

    //print google slides id 
    print "File id: ".$createdFile->id; 

PDF в Google Документ Doc: (нет возможности Google Slide презентации)

$service = new Google_Service_Drive($client); 

    // CREATE A NEW FILE 
    $file = new Google_Service_Drive_DriveFile(array(
    'name' => 'PDF Test Document', 
    'mimeType' => 'application/vnd.google-apps.document' 
)); 

    $pdf = file_get_contents("SamplePDF.pdf"); // read pdf file 

    //declare opts params 
    $optParams = array(
    'uploadType' => 'multipart', 
    'data' => $pdf, 
    'mimeType' => 'application/pdf' 
); 

    //import pdf file as a Google Document File 
    $createdFile = $service->files->create($file, $optParams); 

    //print google document id 
    print "File id: ".$createdFile->id; 

Единственное, что меняется в каждом фрагменте кода, это mimeType. Для справки Mime Types вы можете visit here и для справки из Mime Types Google вы можете visit here.

+0

Спасибо. Возможно ли конвертировать pdf, ppt, pptx с диска на слайды Google ? –

+1

В приведенной выше документации есть таблица, в которой объясняется, какой формат можно преобразовать в Google Презентации. Из всего, что я вижу, только Microsoft Powerpoint, которая представляет собой ppt и OpenDocument Presentation. Я не уверен в pptx и уверен, что это невозможно для PDF-файлов. – Morfinismo

+0

Привет @Morfinismo вы получаете открытые ppt или pptx в Google Slides API? –

Смежные вопросы