ניהול הגדרות של תשובה אוטומטית באמצעות Gmail API
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
במסמך הזה מוסבר איך להשתמש בהודעת חופשה ב-Gmail API.
אפשר להשתמש במשאב settings כדי להגדיר מענה אוטומטי לחשבון.
מידע על קבלת או עדכון של הגדרות המענה האוטומטי לחופשה זמין במאמר settings.
הגדרת מענה אוטומטי
כדי להגדיר מענה אוטומטי, צריך להוסיף נושא וטקסט לגוף ההודעה בפורמט HTML או בפורמט טקסט פשוט. הם מוגדרים באמצעות האובייקט VacationSettings. אתם יכולים להפעיל את המענה האוטומטי ללא הגבלת זמן או להגביל אותו לתקופה מסוימת. אפשר גם להגביל את המענה האוטומטי לאנשי קשר מוכרים או לחברים בדומיין.
בדוגמאות הקוד הבאות אפשר לראות איך מגדירים מענה אוטומטי לתקופה קבועה ומגבילים את התשובות למשתמשים באותו דומיין:
importcom.google.api.client.googleapis.json.GoogleJsonError;importcom.google.api.client.googleapis.json.GoogleJsonResponseException;importcom.google.api.client.http.HttpRequestInitializer;importcom.google.api.client.http.javanet.NetHttpTransport;importcom.google.api.client.json.gson.GsonFactory;importcom.google.api.services.gmail.Gmail;importcom.google.api.services.gmail.GmailScopes;importcom.google.api.services.gmail.model.VacationSettings;importcom.google.auth.http.HttpCredentialsAdapter;importcom.google.auth.oauth2.GoogleCredentials;importjava.io.IOException;importjava.time.LocalDateTime;importjava.time.ZoneOffset;importjava.time.ZonedDateTime;/* Class to demonstrate the use of Gmail Enable Auto Reply API*/publicclassEnableAutoReply{/** * Enables the auto reply * * @return the reply message and response metadata. * @throws IOException - if service account credentials file not found. */publicstaticVacationSettingsautoReply()throwsIOException{/* Load pre-authorized user credentials from the environment. TODO(developer) - See https://developers.google.com/identity for guides on implementing OAuth2 for your application. */GoogleCredentialscredentials=GoogleCredentials.getApplicationDefault().createScoped(GmailScopes.GMAIL_SETTINGS_BASIC);HttpRequestInitializerrequestInitializer=newHttpCredentialsAdapter(credentials);// Create the gmail API clientGmailservice=newGmail.Builder(newNetHttpTransport(),GsonFactory.getDefaultInstance(),requestInitializer).setApplicationName("Gmail samples").build();try{// Enable auto reply by restricting domain with start time and end timeVacationSettingsvacationSettings=newVacationSettings().setEnableAutoReply(true).setResponseBodyHtml("I am on vacation and will reply when I am back in the office. Thanks!").setRestrictToDomain(true).setStartTime(LocalDateTime.now().toEpochSecond(ZoneOffset.from(ZonedDateTime.now()))*1000).setEndTime(LocalDateTime.now().plusDays(7).toEpochSecond(ZoneOffset.from(ZonedDateTime.now()))*1000);VacationSettingsresponse=service.users().settings().updateVacation("me",vacationSettings).execute();// Prints the auto-reply response bodySystem.out.println("Enabled auto reply with message : "+response.getResponseBodyHtml());returnresponse;}catch(GoogleJsonResponseExceptione){// TODO(developer) - handle error appropriatelyGoogleJsonErrorerror=e.getDetails();if(error.getCode()==403){System.err.println("Unable to enable auto reply: "+e.getDetails());}else{throwe;}}returnnull;}}
fromdatetimeimportdatetime,timedeltaimportgoogle.authfromgoogleapiclient.discoveryimportbuildfromgoogleapiclient.errorsimportHttpErrorfromnumpyimportlongdefenable_auto_reply():"""Enable auto reply. Returns:Draft object, including reply message and response meta data. 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()try:# create gmail api clientservice=build("gmail","v1",credentials=creds)epoch=datetime.utcfromtimestamp(0)now=datetime.now()start_time=(now-epoch).total_seconds()*1000end_time=(now+timedelta(days=7)-epoch).total_seconds()*1000vacation_settings={"enableAutoReply":True,"responseBodyHtml":("I am on vacation and will reply when I am ""back in the office. Thanks!"),"restrictToDomain":True,"startTime":long(start_time),"endTime":long(end_time),}# pylint: disable=E1101response=(service.users().settings().updateVacation(userId="me",body=vacation_settings).execute())print(f"Enabled AutoReply with message: {response.get('responseBodyHtml')}")exceptHttpErroraserror:print(f"An error occurred: {error}")response=Nonereturnresponseif__name__=="__main__":enable_auto_reply()
כדי להשבית את המענה האוטומטי, צריך לבצע קריאה ל-method settings.updateVacation ולהגדיר את השדה enableAutoReply באובייקט VacationSettings לערך false. אם מגדירים ערך, המענה האוטומטי מושבת אחרי שהזמן שצוין חלף.endTime
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-16 (שעון UTC)."],[],[]]