如何在Meteor Http调用中指定约束?

时间:2015-01-22 16:26:03

标签: meteor

我需要在Meteor http调用Parse Rest API中传递where约束(其中UserName =" User1")。目前,我在以下API调用之后得到的结果包括所有条目,而不仅仅是UserName为User1的条目。

 var authUrl = "https://api.parse.com/1/classes/ImageData";    
 Meteor.http.call("GET", authUrl, {
            headers: {
                "X-Parse-Application-Id": "2CMX1b4JY5xCOPrYEbSc69ucNDDh9pl5yFeqv3A3",
                "X-Parse-REST-API-Key": "9UWpw6H7UuBaOEQgT7R3ANQ3rE67yxZxcMHJJaBu",
                "content-type": "application/json"

            },

            params: {
                "UserName": "User1",
            }

        }, function(error, result) {
            console.log(JSON.parse(result.content));
        }

    );

curl表示中此类HTTP调用的解析文档是:

curl -X GET \
  -H "X-Parse-Application-Id: 2CMX1b4JY5xCOPrYEbSc69ucNDDh9pl5yFeqv3A3" \
  -H "X-Parse-REST-API-Key: 9UWpw6H7UuBaOEQgT7R3ANQ3rE67yxZxcMHJJaBu" \
  -G \
  --data-urlencode 'where={"UserName":"User1"}' \
  https://api.parse.com/1/classes/ImageData

如何在Meteor中正确地写这个?

1 个答案:

答案 0 :(得分:1)

这似乎有效:

var util = Npm.require('util');

var url = 'https://api.parse.com/1/classes/ImageData';

var result = HTTP.get(url, {
  headers: {
    'X-Parse-Application-Id': '2CMX1b4JY5xCOPrYEbSc69ucNDDh9pl5yFeqv3A3',
    'X-Parse-REST-API-Key': '9UWpw6H7UuBaOEQgT7R3ANQ3rE67yxZxcMHJJaBu',
    'content-type': 'application/json'
  },
  query: 'where={"UserName":"User1"}'
});

console.log(util.inspect(result.data, {depth: null}));

注释

  • Meteor.http.call已弃用。请改用HTTP API。请注意,您需要$ meteor add http

  • 由于您需要字符串而不是键/值对,因此请使用query代替params。对于GET,两者都放在查询字符串中,但您的原始代码创建了查询?Username=User1而不是?where...