2012-12-03 36 views
5

每當我調用服務器上的下面的方法(CoffeeScript)時,我會得到「腳本應該使用帶有聯繫信息的信息性用戶代理字符串,或者它們可能在沒有通知的情況下被IP攔截」。如何在呼叫中包含用戶代理信息?還是它從Meteor帳戶(我目前還沒有使用)獲取?感謝您的幫助......如何將用戶代理信息包含在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

剛剛成立User-Agentheaders參數(見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

啊,是的,謝謝。看起來它可以在用戶代理周圍添加引號的修改: 標題: 「User-Agent」:「Meteor/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 
    } 
}); 

請注意圍繞標題選項和逗號分隔標題和參數的花括號(這是沒有這些東西的語法錯誤)。這個例子是在onCreateUser()回調期間定製loginButtons的EventedMind方法的一部分。

相關問題