Почта Pastebin.com - PullRequest
       23

Почта Pastebin.com

0 голосов
/ 27 сентября 2011

Я пытаюсь опубликовать новый Pastebin через всплывающее окно в Javascript.Проблемы, которые я получаю, это то, что он говорит «Неверный запрос API, недопустимый api_option»

Используемая мной ссылка: http://pastebin.com/api/api_post.php?api_dev_key=<KEY>&api_paste_name=T‌​ITLE&api_option=paste&api_paste_code=SOMETEXT

В нем говорится, что api_option должен быть вставлен как паста.Я пытался найти другие примеры, но пока не повезло.Все сталкивались с этой проблемой?

Ответы [ 3 ]

3 голосов
/ 27 сентября 2011

Как вы отправляете этот запрос в Pastebin?Это через POST или GET?Я думаю, вы отправляете запрос GET, а для API требуется POST.

3 голосов
/ 27 сентября 2011

Вы, случайно, обязаны размещать данные, а не ПОЛУЧАТЬ их?

Кроме того, возможно, не самая лучшая идея когда-либо размещать ваш ключ API в Интернете, как это.

0 голосов
/ 21 июня 2019

Попробуйте это:

   let api = {
      option: "paste",
      user_key: "XXXXXXXXXXXX",
      dev_key: 'XXXXXXXXXXXX',
      paste_name: "MyTitle",
      paste_format: "JSON",
      paste_private: 0,
      paste_code: ""
};

  let request = new XMLHttpRequest();
  request.open('POST', 'http://pastebin.com/api/api_post.php', true);
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
  data['test'] = 'Yeah PasteBin!';
  dataString = 'api_option='+api.option+'&api_user_key='+api.user_key+'&api_dev_key='+api.dev_key+
'&api_paste_name='+api.paste_name+'&api_paste_format='+api.paste_format+
'&api_paste_private='+api.paste_private+'&api_paste_code='+data;
request.onreadystatechange = function() {
    if (request.status == 200 && request.readyState == 4) {
        alert("URL to new pastebin file: " + request.responseText);
    }
}
  request.send(dataString);

Основная проблема с вашим кодом заключается в том, что все в вашем URL-адресе запроса, что хорошо, если это запрос GET. URL-адрес PasteBin: api / api_post.php требует POST-запроса (обратите внимание на имя?), Поэтому вы должны отправить его в теле, как я показал вам выше.

...