-1

我正在尝试提出在 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];    
}

然后处理对我的异步查询的响应。但是有没有更好的方法,最好是单个查询?

4

2 回答 2

1

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

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

于 2014-01-21T17:15:06.510 回答
0

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

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

公司可以对应于您的团队,并且您可以在包含团队名称的公司上具有自定义属性。

当请求到达时,代理将首先确定发出请求的开发人员所属的公司。使用自定义属性确定团队名称;将团队名称发送到后端以完成您提到的其余处理(列表,提供图片)。

让我知道这种思路是否适合您。

于 2014-01-21T13:59:59.847 回答