在Apigee上为一组已知用户提取图片UUID

时间:2014-01-21 06:36:38

标签: database apigee

我正在尝试提出在Apigee平台上实现以下目标的最佳策略:我拥有用户的“团队”,并且我希望团队中的每个用户都能够看到其余的图片的团队。相应地,我想阻止来自不同团队的人们看到彼此的照片。 (哦,每个用户可以在多个团队中)。 我想设置一个与每个团队相对应的Apigee组,并为团队中所有用户的配置文件授予组“GET”权限。我认为这应该按照我希望的方式限制权限。我主要担心的是这一点。基本上我想在我的应用程序中有一个屏幕,它将显示团队中的用户列表,以及他们图片的缩略图。是否有一种通过单个查询提取所有用户条目的好方法? 我可以想象做这样的事情:

[appDelegate.dataClient setDelegate:self];
for(NSString *user in usernames) {
    ApigeeQuery *teamQuery = [[ApigeeQuery alloc] init];
    [teamQuery addRequiredOperation:@"username" op:kApigeeQueryOperationEquals valueStr:user];

    [appDelegate.dataClient getEntities:@"users" query:teamQuery];    
}

然后处理对异步查询的响应。但是有更好的方法,最好只用一个查询吗?

2 个答案:

答案 0 :(得分:1)

或者,您可以使用Usergrid组。为每个团队创建一个组,并将用户添加到组中。可以通过以下GET请求找到用户所属的组列表:     / users / user name或uuid / groups 对于每个组,您可以通过执行GET请求来查找用户:     / groups / group uuid,检索上方/用户

此方法允许您通过遍历所有组来获取允许用户查看的所有用户配置文件。您可以为每个组创建一个页面部分,并列出每个成员或为该用户创建一个合并列表并以此方式显示。用户只能看到与其共享组的人的个人资料。

答案 1 :(得分:0)

我认为开发人员的照片和获取列表/图片的api都可以随身携带;并且您正在使用Apigee来限制对这些API的访问。

我的建议是看看Apigee支持的companies的概念。虽然这个概念被称为公司,但它是一种集团开发人员的方式 - 您可以在文档页面上找到更多详细信息。

公司可以与您的团队相对应,您可以在包含团队名称的公司上拥有自定义属性。

当请求到达时,代理将首先确定发出请求的开发人员所属的公司。使用custom属性确定团队名称;将团队名称发送到后端,以便在您提及时进行剩余的处理(列出,提供图片)。

如果这条思路对你有用,请告诉我。