Ok hier ist die Twitter-API,
http://search.Twitter.com/search.atom?q=perkytweets
Kann mir jemand einen Hinweis geben, wie ich diese API oder diesen Link mit Meteor aufrufen kann?
Update ::
Hier ist der Code, den ich ausprobiert habe, aber er zeigt keine Antwort
if (Meteor.isClient) {
Template.hello.greeting = function () {
return "Welcome to HelloWorld";
};
Template.hello.events({
'click input' : function () {
checkTwitter();
}
});
Meteor.methods({checkTwitter: function () {
this.unblock();
var result = Meteor.http.call("GET", "http://search.Twitter.com/search.atom?q=perkytweets");
alert(result.statusCode);
}});
}
if (Meteor.isServer) {
Meteor.startup(function () {
});
}
Sie definieren Ihr checkTwitter Meteor.methodin einen Block mit Mandanten. Da Sie keine domänenübergreifende Verbindung vom Client aus herstellen können (sofern Sie nicht jsonp verwenden), müssen Sie diesen Block in einen Meteor.isServer
-Block setzen.
Abgesehen davon ist der clientseitige Meteor.method
Ihrer checkTwitter-Funktion laut Dokumentation lediglich ein stub einer serverseitigen Methode. In den Dokumenten finden Sie eine vollständige Erklärung, wie Server- und Clientseite Meteor.methods
zusammenarbeiten.
Hier ist ein Funktionsbeispiel für den http-Aufruf:
if (Meteor.isServer) {
Meteor.methods({
checkTwitter: function () {
this.unblock();
return Meteor.http.call("GET", "http://search.Twitter.com/search.json?q=perkytweets");
}
});
}
//invoke the server method
if (Meteor.isClient) {
Meteor.call("checkTwitter", function(error, results) {
console.log(results.content); //results.data should be a JSON object
});
}
Dies mag rudimentär erscheinen - aber das HTTP-Paket ist in Ihrem Meteor-Projekt nicht standardmäßig enthalten und erfordert, dass Sie es à la carte installieren.
In der Befehlszeile entweder:
Nur Meteor:
meteor hinzufügen http
Meteorit:
mrt add http
Meteor.http.get auf dem Client ist async, daher müssen Sie eine Rückruffunktion bereitstellen:
Meteor.http.call("GET",url,function(error,result){
console.log(result.statusCode);
});
Verwenden Sie Meteor.http.get
. Per Dokumente :
Meteor.http.get(url, [options], [asyncCallback]) Anywhere Send an HTTP GET request. Equivalent to Meteor.http.call("GET", ...).
Die Dokumente enthalten einige Beispiele für die Verwendung von Twitter. Sie sollten also in der Lage sein, mit ihnen zu beginnen.
auf der Serverseite, wenn Sie den Rückruf an http.get zurückgeben, wird es ein asynchroner Anruf sein
var result = HTTP.get (iurl); return result.data.response;
da ich keinen Rückruf an HTTP.get übergeben habe, hat es gewartet, bis ich eine Antwort bekam. ich hoffe es hilft