2013-03-09 6 views
6

का उपयोग कर पेस्टबिन में टेक्स्ट पेस्ट करने के लिए कैसे करें मैं एक स्क्रिप्ट बनाने के लिए टैम्पर्मोनकी (ग्रीसमेनकी के समान, लेकिन क्रोम के लिए) का उपयोग कर रहा हूं। विचार है कि मैं पेस्टबिन में लिखने वाले पाठ को पेस्ट करना चाहता हूं। पाठ अन्य वेबसाइट में लिखा गया था। मैंने देखा कि मैं इसे 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(); 
    } 
}); 

मुझे यकीन है कि दो पिछले लाइनों ठीक से काम नहीं कर रहे हैं, लेकिन मैं पता नहीं क्यों। पहला कार्य सही काम करता है।

मैं क्या कर रहा हूँ बुरा? मेरे द्वारा यह कैसे किया जा सकता है?

धन्यवाद! =)

उत्तर

5

मैंने एक साधारण एपीआई विकसित की जो वास्तव में आप चाहते हैं।

Includes : Persist BETA

Pastebin एक API है, लेकिन यह वर्तमान में संपादन पदों का समर्थन नहीं करता।
यही कारण है कि मुझे पेस्टबिन के लिए विशिष्ट दो अलग-अलग "सेवाएं" बनाने की आवश्यकता है ... PASTEBIN और PASTEBIN2

यदि आपको संपादन की आवश्यकता नहीं है, तो PASTEBIN का उपयोग करें। अन्यथा, PASTEBIN2 का उपयोग करें।

पहली चीज़ जो आपको चाहिए वह Unique Developer API Key है।
फिर आपको User API Key की आवश्यकता होगी।

एक नई पोस्ट

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); 
    } 
}); 
+0

धन्यवाद! यह वास्तव में अच्छी तरह से काम करता है। हालांकि मेरे पास कुछ प्रश्न हैं: क्या मैं निजी पेस्ट पोस्ट कर सकता हूं? और, जब आप पृष्ठ लोड करते हैं तो फ़ंक्शन प्रारंभ होता है। जब मैं स्पेसबार दबाता हूं या कुंजी दर्ज करता हूं तो मैं इसे कैसे शुरू कर सकता हूं? – VictorSeven

+0

हां, मैं आपको [पास्टबिन एपीआई] (http://pastebin.com/api#7) पढ़ने की सलाह देता हूं। फिर अपने वांछित पैरामीटर को "डेटा" में जोड़ें। – w35l3y

+0

PASTEBIN काम करता है लेकिन PASTEBIN2 (उसी देव और उपयोगकर्ता कुंजी) के साथ संपादन कंसोल में एक त्रुटि प्राप्त करता है: ऐरे [2] 0: "request.error – Sint

संबंधित मुद्दे