Mandrill API для скриптов Google Sheets - PullRequest
0 голосов
/ 02 июля 2019

Я хочу вызвать API Mandrill для того, чтобы данные шаблона с тегами заполнялись в моем листе google, помеченном как тест, но, похоже, я не могу заставить его работать (потратив часы, я новичок). Ниже мой код

function mandrill() {
var from = "https://mandrillapp.com/api/1.0/tags/list.json";
var key = "*************";
var params = {
"return" :[
  "time",
  "sent",
  "opens",
  "clicks",
   ],
   "sheet": "test"
   }}

Я следовал официальным документам, но не могу заставить их работать. Любая помощь будет принята с благодарностью. https://mandrillapp.com/api/docs/tags.JSON.html#method=all-time-series

1 Ответ

0 голосов
/ 05 июля 2019

Справочник «Сценарий приложений» указывает, как использовать метод fetch () для получения вашего запроса из Mandrill.

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app

Пожалуйста, используйте

UrlFetchApp.fetch(url, options);

Вам необходимо JSON.stringify() запрос JSON для Mandrill /urls/list.json и передать его в качестве полезной нагрузки в параметры запроса выборки. Согласно предоставленной вами документации, правильный запрос JSON:

{
    "key": "example key"
}

Впоследствии вы можете продолжить свой ответ и использовать его для заполнения листа. Пожалуйста, обратитесь к:

https://developers.google.com/apps-script/reference/url-fetch/http-response

Затем вам нужно разобрать ответ на объект JavaScript, вам нужно разобрать его перед доступом к контенту методом getContentText(). Затем вы можете получить доступ к интересующим вас записям и заполнить свой лист им:

Таким образом, ваш код для получения ответа от Mandrill должен выглядеть следующим образом:

function mandrill() {

var from = "https://mandrillapp.com/api/1.0/tags/list.json";
var params = {  
             "key": "*************"
               };

var payload = JSON.stringify(params);
var options = {
    'method': 'post',
    'payload': payload,
    'contentType' : 'application/json'
    };
var response = UrlFetchApp.fetch(url, options);
var data = JSON.parse(response).getContentText());
var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
sheet.getRange("A1").setValue(data['sent'])
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...