每当我调用服务器上的下面的方法(CoffeeScript)时,我得到“脚本应该使用带有联系信息的信息性用户代理字符串,或者它们可能被IP阻止,而无需通知”来自维基百科。如何在通话中包含用户代理信息?或者它是否从Meteor Accounts(我还没有使用)获取此信息?谢谢你的帮助...
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
答案 0 :(得分:10)
为澄清未来访问者的上一个答案,Meteor.http.get的语法如下:
result = Meteor.http.get("https://api.github.com/user", {
headers: {
"User-Agent": "Meteor/1.0"
},
params: {
access_token: accessToken
}
});
注意header选项后面的花括号和后面分隔header和params选项的逗号(没有这些东西就是语法错误)。这个示例是在onCreateUser()回调期间自定义loginButtons的EventedMind方法的一部分。
答案 1 :(得分:9)
只需在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