查询和匹配多个数据点Apigee的正确方法

时间:2014-01-28 09:32:50

标签: facebook apigee facebook-group

我正在构建一个执行以下操作的应用程序:

  1. 从Facebook抓朋友
  2. 选择1-2位朋友并将其添加到a 组
  3. 我希望用户能够使用Facebook登录并让它查看所有群组,并将他们的朋友带回来。每个群组都保存在Apigee中,并拥有1-2个Facebook ID属性。

    我不确定实现这一目标的最佳方法。

    以下是我的所作所为,至少尝试一下。显然每次我通过朋友发送请求都是一个可怕的想法。

    请帮忙吗?

    http://apigee.com/docs/app-services/content/querying-your-app-services-data

    function get_groups(){
    
       //Stores array of friend ids
       var friends = [];
    
       //Request to Facebook and get friends
       FB.api('/me/friends', 'GET', function(data){
    
           for (i = 0; i < data.data.length; i++){
               friends.push(data.data[i].id);
           }
           request(friends)
       });
    
       function request(friends){
    
        for ( i = 0; i < friends.length ; i++) {
    
            //Set ids to look for in the groups
            var options = {
                endpoint:"groups",
                qs:{ql: "id1='" + friends[i] + "' or id2='" + friends[i] +"'"},
            }
            //Request to Apigee to query groups 
            client.request(options, function (err, data) {
                if (err) {
                     console.log(err);
                } else {
                    //do something with the data
                }   
            });     
          }
       }
    }
    

2 个答案:

答案 0 :(得分:0)

我认为您可以使用此处定义的查询概念:http://apigee.com/docs/app-services/content/querying-your-data

除此之外,我相信你现在正在尝试的是最好的方式。因为我不知道有什么方法可以在一次调用中获取组中的所有实体并比较实体中的数据(在这种情况下是facebook id)。

[还想了解是否有其他方式]

答案 1 :(得分:0)

您可以根据群组探索实体关系船的选项,看看是否可以简化 http://apigee.com/docs/app-services/content/entity-relationships