How to make an API call using meteor How to make an API call using meteor json json

How to make an API call using meteor


You are defining your checkTwitter Meteor.method inside a client-scoped block. Because you cannot call cross domain from the client (unless using jsonp), you have to put this block in a Meteor.isServer block.

As an aside, per the documentation, the client side Meteor.method of your checkTwitter function is merely a stub of a server-side method. You'll want to check out the docs for a full explanation of how server-side and client-side Meteor.methods work together.

Here is a working example of the http call:

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 methodif (Meteor.isClient) {    Meteor.call("checkTwitter", function(error, results) {        console.log(results.content); //results.data should be a JSON object    });}


This might seem rudimentary - but the HTTP package does not come by default in your Meteor project and requires that you install it a la carte.

On the command line either:

  1. Just Meteor:
    meteor add http

  2. Meteorite:
    mrt add http

Meteor HTTP Docs


Meteor.http.get on the client is async, so you will need to provide a callback function :

Meteor.http.call("GET",url,function(error,result){     console.log(result.statusCode);});