Использование Google Apps Script и API Pastebin.com для публикации вставки - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь вставить Pastebin.com, используя Google Apps Script из редактора сценариев электронных таблиц.Может кто-нибудь сказать мне, что я делаю неправильно?

function postPastebinPost() {
  var options, url, apiKey, payload, response;

  apiKey = <api key goes here>;
  payload = 'Hello World';

  options = {
    'method' : 'post',
    'payload' : payload
  };

  url = 'https://pastebin.com/api/api_post.php'
    + '?api_dev_key=' + apiKey
    + '&api_option=paste'
    + '&api_paste_code=' + encodeURIComponent(payload);

  response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

Я запускаю это, и мой журнал читает Bad API request, invalid api_option.Я искал решения, но не нашел ни одного.

Документация:

API Pastebin.com

• Скрипт Служб Google UrlFetchApp Class

Ответы [ 2 ]

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

В следующем случае пользователь хочет создать новую вставку как часть своей учетной записи Pastebin (а ​​не «Вставить как гость»).Это всего лишь адаптация ответа Амит Агарвал.

function postPastebinPost() {
  var title = 'abc';
  var contents = 'Hello World \n next line of content  \n more text';
  var payload = {
    api_dev_key: 'aa6f3ab...', // https://pastebin.com/api#1
    api_option: 'paste',
    api_paste_name: title,
    api_paste_code: contents,
    api_paste_private: '0', // public paste
    api_user_name: 'diccionario...', // name of your Pastebin account
    api_user_password: 'dk398d...', // password to your Pastebin account
    api_user_key: '39dk3...', // https://pastebin.com/api/api_user_key.html
    };
  var options = {
    method : 'POST',
    payload: payload
    };
  var url = 'https://pastebin.com/api/api_post.php';
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}

Вся документация на https://pastebin.com/api.

0 голосов
/ 12 мая 2018

Параметры должны быть переданы в полезной нагрузке запроса POST.

function postPastebinPost() {

  var apiKey = 'YOUR KEY GOES HERE';
  var text = 'Hello World';

  var payload = {
    api_dev_key: apiKey,
    api_option: 'paste',
    api_paste_code:  text
  };

  var options = {
    method : 'POST',
    payload: payload
  };

  var url = 'https://pastebin.com/api/api_post.php';

  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}
...