我正在尝试使用运行6.0.1的iPhone 4上的iOS6 SDK通过特定用户ID过滤自定义对象。不幸的是,当执行下面的代码时,它会返回自定义对象模式中创建的所有记录。
NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
[getRequest setObject:@"222222" forKey:@"user_id"];
[QBCustomObjects objectsWithClassName:@"appointments" extendedRequest:getRequest delegate:self];
(我省略了验证码。我能够验证并创建一个记录就好了)对于密钥,我已经尝试了每个排列,我可以想到用户ID。包括查看查询请求的响应以及如何在jSON提要中引用该字段。这几乎就像extendedRequest没有考虑我放在那里的任何值 - 但我清楚地看到它们在查看控制台日志时被传递。
答案 0 :(得分:1)
这很奇怪,因为我使用
NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
[getRequest setObject:[NSNumber numberWithInt:291] forKey:@"user_id"];
[QBCustomObjects objectsWithClassName:@"SuperSample" extendedRequest:getRequest delegate:self];
如果我们查看控制台,我们会看到:
GET http://api.quickblox.com/data/SuperSample.xml
headers:{
"QB-SDK" = "iOS 1.3.1";
"Qb-Token" = 00fbd4c38b4156975e63882ad660e9a724ae7a3d;
"QuickBlox-REST-API-Version" = "0.1.1";
}
parameters:{
"user_id" = 291;
}
此代码段仅返回 user_id 291的记录(在此示例中,此a为单个记录):
<?xml version="1.0" encoding="UTF-8"?>
<data type="array">
<SuperSample>
<_id>50bb4c1c535c12306b007ea4</_id>
<_parent_id nil="true"></_parent_id>
<born_age nil="true"></born_age>
<created-at type="integer">1354451996</created-at>
<my_field nil="true"></my_field>
<rating nil="true"></rating>
<sex_ nil="true"></sex_>
<text nil="true"></text>
<updated-at type="integer">1354451996</updated-at>
<user-id type="integer">291</user-id>
<vote nil="true"></vote>
</SuperSample>
</data>
答案 1 :(得分:1)
我回过头来看看我是如何创建quickblox会话的,我使用以下方法对API进行身份验证。
[QBUsers logInWithUserEmail:@"" password:@"" delegate:self];
我将其切换为使用此方法,现在我可以从自定义对象模块中提取特定记录。
[QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self];