2012-12-03 12 views
5

जब भी मैं सर्वर पर नीचे दी गई विधि (कॉफीस्क्रिप्ट) को कॉल करता हूं, मुझे मिलता है कि "स्क्रिप्ट को संपर्क जानकारी के साथ एक सूचनात्मक उपयोगकर्ता-एजेंट स्ट्रिंग का उपयोग करना चाहिए, या वे विकिपीडिया से बिना किसी सूचना के आईपी अवरुद्ध हो सकते हैं"। मैं कॉल में उपयोगकर्ता-एजेंट जानकारी कैसे शामिल करूं? या क्या यह मेटीर अकाउंट्स से इसे पकड़ता है (जिसे मैं अभी तक उपयोग नहीं कर रहा हूं)? किसी भी मदद के लिए धन्यवाद ...उपयोगकर्ता-एजेंट जानकारी को Meteor.http.call में कैसे शामिल करें? MediaWiki के लिए यह आवश्यक है

Meteor.methods 
    wpSearch: (queryStr) -> 
    result = Meteor.http.call "GET", "http://en.wikipedia.org/w/api.php", 
     params: 
     action: "query" 
     list: "search" 
     format: "json" 
     srwhat: "text" 
     srsearch: queryStr 

उत्तर

8

बस headers पैरामीटर में User-Agent सेट (http://docs.meteor.com/#meteor_http देख)

Meteor.methods 
    wpSearch: (queryStr) -> 
    result = Meteor.http.call "GET", "http://en.wikipedia.org/w/api.php", 
     headers: 
     "User-Agent": "Meteor/1.0" 
     params: 
     action: "query" 
     list: "search" 
     format: "json" 
     srwhat: "text" 
     srsearch: queryStr 
+0

आह हाँ, धन्यवाद। ऐसा लगता है कि यह उपयोगकर्ता-एजेंट के चारों ओर उद्धरण जोड़ने के संशोधन के साथ काम करता है: शीर्षलेख: "उपयोगकर्ता-एजेंट": "उल्का/1.0" – GaryM

+0

आह, जाहिर है, उन्हें जोड़ने के लिए भूल गए। यह बात बताने के लिए धन्यवाद। –

10

भावी आगंतुकों के लिए पिछले जवाब स्पष्ट करने के लिए, Meteor.http.get के लिए वाक्यविन्यास निम्नानुसार है:

result = Meteor.http.get("https://api.github.com/user", { 
    headers: { 
     "User-Agent": "Meteor/1.0" 
    }, 
    params: { 
     access_token: accessToken 
    } 
}); 

शीर्षलेख विकल्प के चारों ओर घुंघराले ब्रेसिज़ नोट करें और बाद में हेडर और परम को अलग करने के बाद कॉमा एस विकल्प (यह इन चीजों के बिना एक वाक्यविन्यास त्रुटि है)। यह उदाहरण EventedMind() कॉलबैक के दौरान loginButtons को कस्टमाइज़ करने के लिए EventedMind का हिस्सा है।