Cloud Code Functions
Integrations
API интеграция SendGrid с Back4App Cloud Code
10 мин
использование api электронной почты sendgrid введение в этом разделе объясняется, как вы можете интегрировать sendgrid с функцией cloud code после завершения этого руководства с пошаговыми инструкциями вы будете готовы использовать свою функцию в своем приложении и вызывать ее в своем приложении для ios или android предварительные условия чтобы завершить этот учебник, вам потребуется приложение, созданное в back4app следуйте учебнику по созданию нового приложения , чтобы узнать, как создать приложение в back4app конфигурация командной строки back4app с проектом следуйте учебнику по настройке cloud code , чтобы узнать, как настроить облачный код для проекта аккаунт, созданный в twilio давайте начнем! мы напишем функцию, используя sendgrid, с которой вы сможете работать с множеством возможностей, таких как доставка сообщений нашим клиентам и настройка параметров для использования rest api sendgrid v3 чтобы узнать, как создать или получить доступ к аккаунту в sendgrid, проверьте ссылки ниже создать новый аккаунт войти в свой аккаунт 1 создание ключа api sendgrid самый важный шаг перед началом кодирования это создание правильных ключей для настройки вашей среды после входа в свою учетную запись найдите в выпадающем меню настройки опцию ключи api ключи api , как показано на рисунке ниже после этого в правом верхнем углу найдите и выберите идентификатор для имя ключа api имя ключа api , как показано ниже как вы можете видеть на изображении выше, необходимо выбрать один из вариантов, чтобы разрешить полный доступ к ключу api после нажатия на создать и просмотреть создать и просмотреть , чтобы продолжить создание ключа, вы сможете увидеть экран ниже подсказка будьте осторожны, записывая это, так как нет способа восстановить его нажмите на текст, чтобы скопировать его 2 добавьте функцию в облачный код основная стратегия использования api sendgrid заключается в создании функции в облачном коде с именем sendgridemail sendgridemail , и вызове ее из приложения 2 1 установите модуль от sendgrid создайте файл с именем package json package json , и внутри этого файла вам нужно установить модуль twilio, как 1 { 2 "dependencies" { 3 "@sendgrid/mail" " " 4 } 5 } 2 2 реализуйте облачный код вы должны отметить, что каждое поле электронной почты должно быть отправлено приложением – от темы до содержания – в качестве параметров код выглядит следующим образом parse server 3 x 1 parse cloud define("sendgridemail", async(request) => { 2 const sgmail = require('@sendgrid/mail'); 3 4 // import sendgrid module and call with your sendgrid api key 5 sgmail setapikey("your sendgrid api key here"); 6 7 const msg = { 8 to request params toemail, 9 replyto 'info\@youremail com', 10 from 'info\@youremail com', 11 subject request params subject, 12 text request params body 13 }; 14 15 try{ 16 await sgmail send(msg); 17 return 'ok' 18 } catch (e){ 19 return `error ${e message}` 20 } 21 22 }); parse server 2 x 1 parse cloud define("sendgridemail", (request, response) => { 2 const sgmail = require('@sendgrid/mail'); 3 4 // import sendgrid module and call with your sendgrid api key 5 sgmail setapikey("your sendgrid api key here"); 6 7 const msg = { 8 to request params toemail, 9 replyto 'info\@youremail com', 10 from 'info\@youremail com', 11 subject request params subject, 12 text request params body 13 }; 14 15 sgmail send(msg) then(() => { 16 response success("the message was sent!"); 17 }) 18 catch(error => { 19 //log friendly error 20 response error(error tostring()); 21 }); 22 }); подсказка не забудьте изменить поля из из и reply to reply to на вашу личную информацию затем необходимо реализовать вызов функции cloud code в приложении 3 вызов функции cloud code на этом этапе мы можем работать с двумя возможностями вызова нашей функции android и ios (swift и objective c) android 1 map\<string, string> params = new hashmap<>(); 2 3 // create the fields "emailaddress", "emailsubject" and "emailbody" 4 // as strings and use this piece of code to add it to the request 5 params put("toemail", emailaddress); 6 params put("subject", emailsubject); 7 params put("body", emailbody); 8 9 parsecloud callfunctioninbackground("sendgridemail", params, new functioncallback\<object>() { 10 @override 11 public void done(object response, parseexception exc) { 12 if(exc == null) { 13 // the function executed, but still has to check the response 14 } 15 else { 16 // something went wrong 17 } 18 } 19 }); ios(swift) 1 pfcloud callfunctioninbackground("sendgridemail", withparameters \[ 2 // these fields have to be defined earlier 3 "toemail" toemail, 4 "subject" subject, 5 "body" body 6 ]) { (response, error) in 7 if error == nil { 8 // the function executed, but still has to check the response 9 } else { 10 // the function returned an error 11 } 12 } ios(objective c) 1 \[pfcloud callfunctioninbackground @"sendgridemail" 2 withparameters @{@"toemail" toemail, 3 @"subject" subject, 4 @"body" body} 5 block ^(nsstring myalertmsg, nserror error){ 6 if(!error) { 7 // the function executed, but still has to check the response 8 } 9 else { 10 // the function returned an error 11 } 12 } 13 ]; 4 готово! и это все по использованию sendgrid обратите внимание, что вам может понадобиться использовать какую то форму аутентификации, прежде чем позволить кому либо использовать ваш api sendgrid для отправки электронных писем если вам нужна помощь или функция/ссылка не работает, пожалуйста, свяжитесь с нашей командой через чат!