این صفحه نحوه انجام برخی از وظایف سطح بالا شامل ارائه ها را شرح می دهد، مانند:
- یک ارائه ایجاد کنید
- یک ارائه موجود را کپی کنید
پاراگراف های زیر این وظایف را به تفصیل شرح می دهند.
یک ارائه خالی ایجاد کنید
برای ایجاد یک ارائه، همانطور که در مثال زیر نشان داده شده است، از متد create در مجموعه ارائه ها استفاده کنید.
این مثال یک نمایش خالی با عنوان مشخص ایجاد می کند.
اسکریپت برنامه ها
/** * Creates a presentation * @returns {*} the created presentation */ function createPresentation() { try { const presentation = Slides.Presentations.create({ title: title }); console.log('Created presentation with ID: %s', presentation.presentationId); return presentation; } catch (err) { // TODO (Developer) - Handle exception console.log('Failed with error: %s', err.error); } };
برو
// Create a presentation and request a PresentationId. p := &slides.Presentation{ Title: "Title", } presentation, err := slidesService.Presentations.Create(p).Fields( "presentationId", ).Do() if err != nil { log.Fatalf("Unable to create presentation. %v", err) } fmt.Printf("Created presentation with ID: %s", presentation.PresentationId)
جاوا
import com.google.api.client.http.HttpRequestInitializer; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.gson.GsonFactory; import com.google.api.services.slides.v1.Slides; import com.google.api.services.slides.v1.SlidesScopes; import com.google.api.services.slides.v1.model.Presentation; import com.google.auth.http.HttpCredentialsAdapter; import com.google.auth.oauth2.GoogleCredentials; import java.io.IOException; import java.util.Collections; /* Class to demonstrate the use of Slides Create Presentation API */ public class CreatePresentation { /** * Creates a new presentation. * * @param title - the name of the presentation to be created * @return presentation id * @throws IOException - if credentials file not found. */ public static String createPresentation(String title) throws IOException { /* Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for your application. */ GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(Collections.singleton(SlidesScopes.PRESENTATIONS)); HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter( credentials); // Create the slides API client Slides service = new Slides.Builder(new NetHttpTransport(), GsonFactory.getDefaultInstance(), requestInitializer) .setApplicationName("Slides samples") .build(); // Creates a blank presentation with a specified title. Presentation presentation = new Presentation() .setTitle(title); presentation = service.presentations().create(presentation) .setFields("presentationId") .execute(); // Prints the newly created presentation id. System.out.println("Created presentation with ID: " + presentation.getPresentationId()); return presentation.getPresentationId(); } }
جاوا اسکریپت
function createPresentation(title, callback) { try { gapi.client.slides.presentations.create({ title: title, }).then((response) => { console.log(`Created presentation with ID: ${response.result.presentationId}`); if (callback) callback(response); }); } catch (err) { document.getElementById('content').innerText = err.message; return; } }
Node.js
/** * Creates a Google Slide presentation. * @param {string} title The presentation title. */ async function createPresentation(title) { const {GoogleAuth} = require('google-auth-library'); const {google} = require('googleapis'); const auth = new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/presentations', }); const service = google.slides({version: 'v1', auth}); try { const presentation = await service.presentations.create({ title, }); console.log( `Created presentation with ID: ${presentation.data.presentationId}`, ); return presentation; } catch (err) { // TODO (developer) - Handle exception throw err; } }
PHP
use Google\Client; use Google\Service\Drive; use Google\Service\Slides; use Google\Service\Slides\Request; function createPresentation($title) { /* Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for your application. */ $client = new Google\Client(); $client->useApplicationDefaultCredentials(); $client->addScope(Google\Service\Drive::DRIVE); $service = new Google_Service_Slides($client); try { $presentation = new Google_Service_Slides_Presentation($title); //creating a presentation $presentation = $service->presentations->create($presentation); printf("Created presentation with ID: %s\n", $presentation->presentationId); return $presentation; } catch (Exception $e) { echo 'Message: ' . $e->getMessage(); } }
پایتون
import google.auth from googleapiclient.discovery import build from googleapiclient.errors import HttpError def create_presentation(title): """ Creates the Presentation the user has access to. Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for the application. """ creds, _ = google.auth.default() # pylint: disable=maybe-no-member try: service = build("slides", "v1", credentials=creds) body = {"title": title} presentation = service.presentations().create(body=body).execute() print( f"Created presentation with ID:{(presentation.get('presentationId'))}" ) return presentation except HttpError as error: print(f"An error occurred: {error}") print("presentation not created") return error if __name__ == "__main__": # Put the title of the presentation create_presentation("finalp")
روبی
body = Google::Apis::SlidesV1::Presentation.new body.title = title presentation = slides_service.create_presentation(body) puts "Created presentation with ID: #{presentation.presentation_id}"
با پوشه های Google Drive کار کنید
هیچ گزینه ای برای ایجاد یک ارائه مستقیماً در یک پوشه Drive مشخص شده با استفاده از Google Slides API وجود ندارد. به طور پیش فرض، ارائه ایجاد شده در پوشه اصلی کاربر در Drive ذخیره می شود.
با این حال، 2 گزینه برای ذخیره یک فایل در پوشه Drive وجود دارد:
- پس از ایجاد ارائه، آن را با استفاده از روش files.update در Drive API به یک پوشه خاص منتقل کنید. برای اطلاعات بیشتر در مورد انتقال فایل ها، به انتقال فایل ها بین پوشه ها مراجعه کنید.
- با استفاده از روش files.create از Drive API، یک ارائه خالی به پوشه اضافه کنید
application/vnd.google-apps.presentation
را به عنوانmimeType
مشخص کنید. برای اطلاعات بیشتر در مورد ایجاد فایل، به ایجاد فایل در پوشه مراجعه کنید.
برای هر یک از گزینههای دیگر، باید محدودههای Drive API مناسب را برای تأیید تماس اضافه کنید.
برای انتقال یا ایجاد یک فایل در پوشه درایو مشترک، به پیاده سازی پشتیبانی از درایو مشترک مراجعه کنید.
یک ارائه موجود را کپی کنید
برای کپی کردن یک ارائه، از روش فایلهای ().copy درایو API استفاده کنید.
مثال زیر یک ارائه موجود را با استفاده از یک رشته ارائه شده برای عنوان ارائه و نام فایل Drive جدید کپی می کند.
اسکریپت برنامه ها
/** * create a presentation and copy it * @param {string} presentationId - ID of presentation to copy * @returns {*} the copy's presentation id */ function copyPresentation(presentationId) { const copyTitle = 'Copy Title'; let copyFile = { title: copyTitle, parents: [{id: 'root'}] }; try { copyFile = Drive.Files.copy(copyFile, presentationId); // (optional) copyFile.id can be returned directly const presentationCopyId = copyFile.id; return presentationCopyId; } catch (err) { // TODO (Developer) - Handle exception console.log('Failed with error: %s', err.error); } };
برو
// Copy a presentation. file := drive.File{ Title: title, } presentationCopyFile, err := driveService.Files.Copy(id, &file).Do() if err != nil { log.Fatalf("Unable to copy presentation. %v", err) } presentationCopyId := presentationCopyFile.Id
جاوا
import com.google.api.client.googleapis.json.GoogleJsonError; import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.client.http.HttpRequestInitializer; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.gson.GsonFactory; import com.google.api.services.drive.Drive; import com.google.api.services.drive.model.File; import com.google.api.services.slides.v1.SlidesScopes; import com.google.auth.http.HttpCredentialsAdapter; import com.google.auth.oauth2.GoogleCredentials; import java.io.IOException; import java.util.Collections; /* Class to demonstrate the use of Slides Copy Presentation API */ public class CopyPresentation { /** * Copy an existing presentation. * * @param presentationId - id of the presentation. * @param copyTitle - New title of the presentation. * @return presentation id * @throws IOException - if credentials file not found. */ public static String copyPresentation(String presentationId, String copyTitle) throws IOException { /* Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for your application. */ GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(Collections.singleton(SlidesScopes.DRIVE)); HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter( credentials); // Create the drive API client Drive driveService = new Drive.Builder(new NetHttpTransport(), GsonFactory.getDefaultInstance(), requestInitializer) .setApplicationName("Slides samples") .build(); String presentationCopyId = null; try { // Copies an existing presentation using specified presentation title. File copyMetadata = new File().setName(copyTitle); File presentationCopyFile = driveService.files().copy(presentationId, copyMetadata).execute(); presentationCopyId = presentationCopyFile.getId(); // Prints the new copied presentation id. System.out.println("New copied presentation id " + presentationCopyId); } catch (GoogleJsonResponseException e) { // TODO(developer) - handle error appropriately GoogleJsonError error = e.getDetails(); if (error.getCode() == 404) { System.out.printf("Presentation not found with id '%s'.\n", presentationId); } else { throw e; } } return presentationCopyId; } }
جاوا اسکریپت
function copyPresentation(presentationId, copyTitle, callback) { const request = { name: copyTitle, }; try { gapi.client.drive.files.copy({ fileId: presentationId, resource: request, }).then((driveResponse) => { const presentationCopyId = driveResponse.result.id; if (callback) callback(presentationCopyId); console.log('create copy_presentation with id', presentationCopyId); }); } catch (err) { document.getElementById('content').innerText = err.message; return; } }
Node.js
/** * Copys a Google Slide presentation. * @param {string} presentationId The presentation to copy. * @param {string} copyTitle The new title. */ async function copyPresentation(presentationId, copyTitle) { const {GoogleAuth} = require('google-auth-library'); const {google} = require('googleapis'); const auth = new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/drive', }); const service = google.drive({version: 'v2', auth}); const request = { name: copyTitle, }; try { const driveResponse = await service.files.copy({ fileId: presentationId, resource: request, }); const presentationCopyId = driveResponse.data.id; console.log('Created copied presentation with ID: ' + presentationCopyId); return driveResponse; } catch (err) { // TODO (developer) - handle exception throw err; } }
PHP
use Google\Service\Drive; use Google\Client; use Google\Service\Drive\DriveFile; function copyPresentation($presentationId, $copyTitle) { /* Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for your application. */ $client = new Google\Client(); $client->useApplicationDefaultCredentials(); $client->addScope(Google\Service\Drive::DRIVE); $driveService = new Google_Service_Drive($client); try { $copy = new Google_Service_Drive_DriveFile(array( 'name' => $copyTitle )); $driveResponse = $driveService->files->copy($presentationId, $copy); $presentationCopyId = $driveResponse->id; printf("copyCreated at:%s\n ", $presentationCopyId); return $presentationCopyId; } catch (Exception $e) { echo 'Message: ' . $e->getMessage(); } }
پایتون
import google.auth from googleapiclient.discovery import build from googleapiclient.errors import HttpError def copy_presentation(presentation_id, copy_title): """ Creates the copy Presentation the user has access to. Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for the application. """ creds, _ = google.auth.default() # pylint: disable=maybe-no-member try: drive_service = build("drive", "v3", credentials=creds) body = {"name": copy_title} drive_response = ( drive_service.files().copy(fileId=presentation_id, body=body).execute() ) presentation_copy_id = drive_response.get("id") except HttpError as error: print(f"An error occurred: {error}") print("Presentations not copied") return error return presentation_copy_id
روبی
body = Google::Apis::SlidesV1::Presentation.new body.title = copy_title drive_response = drive_service.copy_file(presentation_id, body) puts drive_response presentation_copy_id = drive_response.id
توجه داشته باشید که برای تأیید تماس باید از یک محدوده Drive API مناسب استفاده کنید.