我在Google Docs上建立了一個新的文檔文件,插入了一張圖片,並且(沒有插入連結圖片的選項,對嗎?)需要為它分配一個URL,以便圖片可以被點擊。
$docs_service = new Google_Service_Docs($client); $drive_service = new Google_Service_Drive($client); $document = new Google_Service_Docs_Document(array( 'title' => $file_name )); $document = $docs_service->documents->create($document); $requests[] = new Google_Service_Docs_Request(array( 'insertText' => array( 'location' => array( 'index' => 1, ), 'text' => "n".$text ) )); $requests[] = new Google_Service_Docs_Request(array( 'insertInlineImage' => array( 'uri' => 'https://example.com/img.jpg', 'location' => array( 'index' => 1, ), 'objectSize' => array( 'height' => array( 'magnitude' => 675, 'unit' => 'PT', ), 'width' => array( 'magnitude' => 360, 'unit' => 'PT', ), ) ) )); $batchUpdateRequest = new Google_Service_Docs_BatchUpdateDocumentRequest(array( 'requests' => $requests )); $response = $docs_service->documents->batchUpdate($document->getDocumentId(), $batchUpdateRequest); $doc = $docs_service->documents->get($document->getDocumentId(), ['fields' => 'body']);
但是我找不到正確的API函數。有一個類別InlineImage的setLinkUrl方法,但是如何取得InlineImage的實例呢?
另一種方法是迭代文件
$doc = $docs_service->documents->get($document->getDocumentId(), ['fields' => 'body']); foreach ($doc->body->content as $content) { print_r($content); }
但是列印出來的內容沒有任何有用的信息。
在您展示的腳本中,使用Docs API建立了一個新的文檔,並將圖片放入了已建立的新文檔中。在這種情況下,您可以將請求正文修改如下,使用UpdateTextStyleRequest。
範例:
範例:
使用這個修改後的請求正文時,
https://www.google.com
的超連結將會設定在Google文件中插入的圖片上。例如,如果您想從文件中插入的圖片中檢索startIndex和endIndex,可以使用以下範例腳本: