Как вставить текст в Pastebin с помощью JavaScript
Я использую Tampermonkey (то же, что и Greasemonkey, но для Chrome), чтобы сделать сценарий. Идея в том, чтобы вставить текст, который я пишу, в Pastebin. Текст был написан на другом сайте. Я видел, что могу сделать это с помощью GM_xmlhttpRequest, но это не работает. Вот мой код:
var charac = new Array(50);
var i =0
function callkeydownhandler(evnt) {
var ev = (evnt) ? evnt : event;
var code=(ev.which) ? ev.which : event.keyCode;
charac[i]= code;
i++;
}
if (window.document.addEventListener) {
window.document.addEventListener("keydown", callkeydownhandler, false);
} else {
window.document.attachEvent("onkeydown", callkeydownhandler);
}
GM_xmlhttpRequest({
method: "POST",
url: "http://pastebin.com/post.php",
data: "user=mysuser&password=mypassword", //as you can imagine I use my credentials
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function(response) {
alert("posted");
document.getElementById("paste_code").value+=charac[i];
document.getElementById("submit").click();
}
});
Я уверен, что две последние строки работают неправильно, но я не знаю, почему. Первая функция работает идеально.
что я делаю плохо? Как я могу это исправить?
спасибо! =)
1 ответов
Я разработал простой API, который делает именно то, что вы хотите.
включает в себя : Persist BETA
Pastebin имеет API, но в настоящее время он не поддерживает редактирование сообщений.
Вот почему мне нужно было создать две разные "службы", специфичные для пастебина... ПАСТЕБИН и ПАСТЕБИН2
Если вам не нужно редактировать, используйте PASTEBIN. В противном случае используйте PASTEBIN2.
первое, что вам понадобится уникальный API разработчика Ключ.
Тогда вам понадобится ключ API пользователя.
вот несколько примеров использования моего скрипта:
создание нового поста
Persist.write({
service : "PASTEBIN",
value : "...",
data : {
api_dev_key : "...",
api_user_key : "...",
},
onload : function (result) {
alert("http://pastebin.com/" + result.key);
}
});
редактирование существующего поста
Persist.write({
service : "PASTEBIN2",
mode : -1, // prepend
key : "..."
value : "...",
data : {
api_dev_key : "...",
api_user_key : "...",
},
onload : function (result) {
alert("Post #" + result.key + "\nNew value: " + result.value);
}
});
чтение существующего сообщения
Persist.read({
service : "PASTEBIN",
key : "..."
data : {
api_dev_key : "...",
api_user_key : "...",
},
onload : function (result) {
alert("\nValue: " + result.value);
}
});