Google Apps Script에서 SendGrid로 보낼 때 빈 PDF

Queenstacy

Google 슬라이드에서 PDF를 만드는 앱 스크립트가 있습니다. Google MailApp을 사용하여 PDF를 보내면 PDF를 올바르게받을 수 있습니다.

 var pdf_file =   DriveApp.getFileById(certificate.getId()).getAs('application/pdf');
  GmailApp.sendEmail(email, subject, body,{attachments: pdf_file,name: subject});

이제 GMail 대신 SendGrid를 사용하고 싶지 않기 때문에 위의 한 줄만 변경하여 더 이상 GMailApp.sendEmail을 호출하지 않고 이제이 새로운 sendGridEmail 함수를 사용합니다.

sendGridEmail(toEmail,subject,body,fromEmail,pdf_file,subject +".pdf"); 

이것은 내 SendGrid 메일 기능입니다.

function sendGridEmail(toEmail,subject,body_details,fromEmail,myPDFfile,certificateName) {
  var SENDGRID_KEY ='xxxxxxxxxxxxxxxxxxxxxxxxxxx';

  var headers = {
    "Authorization" : "Bearer "+ SENDGRID_KEY, 
    "Content-Type": "application/json" 
  }

  var cert = Utilities.base64Encode(myPDFfile);

  var body =
  {
  "personalizations": [
    {
      "to": [
        {
          "email": toEmail
        }
      ],
      "subject": subject
    }
  ],
  "from": {
    "email": fromEmail
  },
   "template_id":"d-xxxxxxxxxxxxxxxxxxxxxxxxxxx",
   "attachments": [
    {
      content: cert,
      filename: certificateName,
      type: "application/pdf",
    }
  ]
}

  var options = {

    'method':'post',
    'headers':headers,
    'payload':JSON.stringify(body)
  }

 var response = UrlFetchApp.fetch("https://api.sendgrid.com/v3/mail/send",options);
 Logger.log(response);  

}

이메일을 받았습니다. PDF를 제외한 모든 작품은 비어 있습니다. PDF를 내 sendGridEmail 함수 (디버거에 PDF로 표시됨)로 보낼 때 base64Encode를 수행하면 엄청난 숫자라는 것을 알 수 있지만 이메일을 받으면 빈 pdf 페이지. 이견있는 사람? base64encoding을 사용하는 것은 이번이 처음입니다. 제대로하고 있지 않을 수 있습니다.

Tanaike

이 수정은 어떻습니까?

수정 지점 :

  • 스크립트에서 pdf_filevar pdf_file = DriveApp.getFileById(certificate.getId()).getAs('application/pdf');전송됩니다 sendGridEmail(toEmail,subject,body,fromEmail,pdf_file,subject +".pdf");. 즉, pdf_file블롭이고 이는의 사용 sendGridEmailmyPDFfile.
  • 이 경우 dataUtilities.base64Encode(data)할 필요가있다 Byte[].

위의 사항이 스크립트에 반영되면 다음과 같이 수정하십시오.

수정 된 스크립트 :

에서:
var cert = Utilities.base64Encode(myPDFfile);
에:
var cert = Utilities.base64Encode(myPDFfile.getBytes());

노트 :

이것이 문제의 직접적인 해결책이 아니라면 base64 데이터에 헤더를 추가하여 스크립트를 테스트하는 것은 어떻습니까?

참조 :

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Google Apps Script에서 시트를 XLS로 내보낼 때 OAuth 오류

분류에서Dev

Google Apps Script를 사용하여 Google 스프레드 시트에서 PDF를 내보낼 때 setName

분류에서Dev

CSV로 내보낼 때 Gridview 빈 행

분류에서Dev

Kafka에서 ClickHouse로 로그를 보낼 때 빈 행 가져 오기

분류에서Dev

Google Apps Script : 이메일로 .zip 파일 대신 PDF 보내기

분류에서Dev

ASP.NET Core에서 HTML을 PDF로 내보낼 때 Microsoft Edge 문제

분류에서Dev

Google App Script에서 이메일을 보낼 때 오류 발생

분류에서Dev

조직 모드에서 텍스트로 내보낼 때 : 제목 사이에 빈 줄 삽입

분류에서Dev

보고서의 PDF를 이메일로 보낼 때 MS Access 매크로 트리거

분류에서Dev

Google Apps Script-HTML에서 PDF를 만들 때 이미지가 표시되지 않음

분류에서Dev

DataTable, pdf 또는 csv로 내보낼 때 테이블에서 열 및 숨겨진 div 제외 또는 숨기기

분류에서Dev

R Markdown에서 PDF로 내보낼 때만 줄 바꿈을 추가하는 방법이 있습니까?

분류에서Dev

Google Apps Script에서 Blob으로 변환 할 때 .xlsx 파일이 손상됨

분류에서Dev

PDF로 내보낼 때 통화가 사라짐

분류에서Dev

Excel pdf를 메일로 보낼 때 닫을 수없는 창

분류에서Dev

Wordpress에서 AJAX 문의 양식을 보낼 때 빈 이메일 데이터

분류에서Dev

Wordpress에서 AJAX 문의 양식을 보낼 때 빈 이메일 데이터

분류에서Dev

금지 상태-Sendgrid로 이메일을 보낼 때

분류에서Dev

파일을 업로드 할 때 빈 메시지를 보낼 수 없습니다.

분류에서Dev

ajax에서 Google Apps Script로 값 전달

분류에서Dev

Google Apps Script에서 HTML 양식을 제출할 때 입력과 함께 위치 정보를 보내는 방법

분류에서Dev

Rails App에서 PDF를 내보낼 때 인수 목록 뒤에 SyntaxError : missing)

분류에서Dev

Arduino가 빈 ArrayBuffer를 NW.js에 보낼 때 어떻게해야합니까?

분류에서Dev

포함 된 Tableau 보고서에서 PDF로 내보낼 때 브라우저 콘솔의 인증되지 않은 오류

분류에서Dev

PDF로 내보낼 때 기본 jasperreport에 포함되지만 하위 보고서에는 포함되지 않는 글꼴

분류에서Dev

Google Apps Script에서 for를 사용하여 HTML 본문으로 메일 보내기

분류에서Dev

Google Apps Script : createEvent ()를 사용하여 이메일을 보낼 수 없습니다.

분류에서Dev

Google Apps Script 편지 병합에서 빈 이메일 건너 뛰기

분류에서Dev

Access에서 Excel로 내보낼 때 셀 내의 새 줄

Related 관련 기사

  1. 1

    Google Apps Script에서 시트를 XLS로 내보낼 때 OAuth 오류

  2. 2

    Google Apps Script를 사용하여 Google 스프레드 시트에서 PDF를 내보낼 때 setName

  3. 3

    CSV로 내보낼 때 Gridview 빈 행

  4. 4

    Kafka에서 ClickHouse로 로그를 보낼 때 빈 행 가져 오기

  5. 5

    Google Apps Script : 이메일로 .zip 파일 대신 PDF 보내기

  6. 6

    ASP.NET Core에서 HTML을 PDF로 내보낼 때 Microsoft Edge 문제

  7. 7

    Google App Script에서 이메일을 보낼 때 오류 발생

  8. 8

    조직 모드에서 텍스트로 내보낼 때 : 제목 사이에 빈 줄 삽입

  9. 9

    보고서의 PDF를 이메일로 보낼 때 MS Access 매크로 트리거

  10. 10

    Google Apps Script-HTML에서 PDF를 만들 때 이미지가 표시되지 않음

  11. 11

    DataTable, pdf 또는 csv로 내보낼 때 테이블에서 열 및 숨겨진 div 제외 또는 숨기기

  12. 12

    R Markdown에서 PDF로 내보낼 때만 줄 바꿈을 추가하는 방법이 있습니까?

  13. 13

    Google Apps Script에서 Blob으로 변환 할 때 .xlsx 파일이 손상됨

  14. 14

    PDF로 내보낼 때 통화가 사라짐

  15. 15

    Excel pdf를 메일로 보낼 때 닫을 수없는 창

  16. 16

    Wordpress에서 AJAX 문의 양식을 보낼 때 빈 이메일 데이터

  17. 17

    Wordpress에서 AJAX 문의 양식을 보낼 때 빈 이메일 데이터

  18. 18

    금지 상태-Sendgrid로 이메일을 보낼 때

  19. 19

    파일을 업로드 할 때 빈 메시지를 보낼 수 없습니다.

  20. 20

    ajax에서 Google Apps Script로 값 전달

  21. 21

    Google Apps Script에서 HTML 양식을 제출할 때 입력과 함께 위치 정보를 보내는 방법

  22. 22

    Rails App에서 PDF를 내보낼 때 인수 목록 뒤에 SyntaxError : missing)

  23. 23

    Arduino가 빈 ArrayBuffer를 NW.js에 보낼 때 어떻게해야합니까?

  24. 24

    포함 된 Tableau 보고서에서 PDF로 내보낼 때 브라우저 콘솔의 인증되지 않은 오류

  25. 25

    PDF로 내보낼 때 기본 jasperreport에 포함되지만 하위 보고서에는 포함되지 않는 글꼴

  26. 26

    Google Apps Script에서 for를 사용하여 HTML 본문으로 메일 보내기

  27. 27

    Google Apps Script : createEvent ()를 사용하여 이메일을 보낼 수 없습니다.

  28. 28

    Google Apps Script 편지 병합에서 빈 이메일 건너 뛰기

  29. 29

    Access에서 Excel로 내보낼 때 셀 내의 새 줄

뜨겁다태그

보관