it-swarm.com.de

So rufen Sie einen API-Aufruf mit Meteor auf

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 () {
    });
}
44
iJade

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
    });
}
57
TimDog

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:

  1. Nur Meteor: 
    meteor hinzufügen http

  2. Meteorit: 
    mrt add http

Meteor-HTTP-Dokumente

29
user2132316

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);
});
6

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.

4
Rahul

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

0
Mr Megamind