Plivo
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Envoyer un SMS
/**
* An example of sending SMS messages from Google Ads Scripts using Plivo.
* See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#basic_authentication_samples
* for full details on configuration.
*/
// Supply an email address: If for some reason your Plivo account
// details become invalid or change, this will be used to make sure
// you are notified of failure.
const EMAIL_ADDRESS = 'INSERT_EMAIL_ADDRESS';
// The number you wish messages to appear to originate from. Must be registered
// with Plivo.
const PLIVO_SRC_PHONE_NUMBER = 'INSERT_SRC_PHONE_NUMBER';
// Account details, see: https://manage.plivo.com/dashboard/
const PLIVO_ACCOUNT_AUTHID = 'INSERT_ACCOUNT_AUTHID';
const PLIVO_ACCOUNT_AUTHTOKEN = 'INSERT_ACCOUNT_AUTHTOKEN';
/**
* Builds an SMS message for sending with Plivo and sends the message.
* @param {string} dstPhoneNumber The destination number. This is a string as
* telephone numbers may contain '+'s or be prefixed with '00' etc.
* @param {string} message The text message to send.
*/
function sendPlivoSms(dstPhoneNumber, message) {
const request =
buildPlivoMessageRequest(dstPhoneNumber, message);
sendSms(request);
}
/**
* Send an SMS message
* @param {!SmsRequest} request The request object to send
*/
function sendSms(request) {
const retriableErrors = [429, 500, 503];
for (let attempts = 0; attempts < 3; attempts++) {
const response = UrlFetchApp.fetch(request.url, request.options);
const responseCode = response.getResponseCode();
if (responseCode < 400 || retriableErrors.indexOf(responseCode) === -1) {
break;
}
Utilities.sleep(2000 * Math.pow(2, attempts));
}
if (responseCode >= 400 && EMAIL_ADDRESS) {
MailApp.sendEmail(
EMAIL_ADDRESS, 'Error sending SMS Message from Google Ads Scripts',
response.getContentText());
}
}
/**
* Builds a SMS request object specific for the Plivo service.
* @param {string} recipientPhoneNumber Destination number including country
* code.
* @param {string} textMessage The message to send.
* @return {SmsRequest}
*/
function buildPlivoMessageRequest(recipientPhoneNumber, textMessage) {
if (!recipientPhoneNumber) {
throw Error('No "recipientPhoneNumber" specified in call to ' +
'buildPlivoMessageRequest. "recipientPhoneNumber" cannot be empty');
}
if (!textMessage) {
throw Error('No "textMessage" specified in call to ' +
'buildPlivoMessageRequest. "textMessage" cannot be empty');
}
const plivoUri =
`https://api.plivo.com/v1/Account/${PLIVO_ACCOUNT_AUTHID}/Message/`;
const authHeader = 'Basic ' +
Utilities.base64Encode(
PLIVO_ACCOUNT_AUTHID + ':' + PLIVO_ACCOUNT_AUTHTOKEN);
const options = {
muteHttpExceptions: true,
method: 'POST',
headers: {'Authorization': authHeader, 'Content-Type': 'application/json'},
payload: JSON.stringify({
src: PLIVO_SRC_PHONE_NUMBER,
dst: recipientPhoneNumber,
text: textMessage
})
};
return {url: plivoUri, options: options};
}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/09/12 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/09/12 (UTC)."],[[["This script enables sending SMS messages directly from Google Ads scripts using the Plivo service."],["It requires setting up Plivo account details, including authentication credentials and a registered source phone number."],["The script provides functionalities for building SMS message requests with recipient details and message content, sending the messages, and handling potential errors with retries and email notifications."],["Users need to replace placeholders like `INSERT_EMAIL_ADDRESS`, `INSERT_SRC_PHONE_NUMBER`, `INSERT_ACCOUNT_AUTHID`, and `INSERT_ACCOUNT_AUTHTOKEN` with their actual values for the script to function correctly."]]],[]]