質問編集履歴

1

追記

2019/03/12 10:08

投稿

Linkins
Linkins

スコア82

test CHANGED
File without changes
test CHANGED
@@ -1,44 +1,64 @@
1
1
  UnityとNCMBでアプリを開発しています。
2
2
 
3
- objectIdでデータストア内のデータを検索・取得するにあたって、
4
3
 
5
- 1つのデータを取得する場合は、公式ドキュメントに
6
4
 
7
- ```C#
5
+ 複数のobjectIdを記録しているListを用いて、そのList内のobjectIdと一致するデータをデータストア内から複数検索・取得したいです。
8
6
 
9
- //保存しオブジェクトobjectIdをもとに取得を行う
7
+ そこで下記のコードを書いたのですが、
10
8
 
11
- NCMBObject obj2 = new NCMBObject ("Book");
9
+ 【StatusCode】:403
12
10
 
13
- obj2.ObjectId = obj.ObjectId;
11
+ 【Error】:NCMB.NCMBException: Unauthorized operations for signature.
14
12
 
15
- obj2.FetchAsync ((NCMBException e) => {
13
+ 【ResponseData】:
16
14
 
17
- if (e != null) {
15
+ というエラーが出てしまいます。
18
16
 
19
- //エラ処理
17
+ 下記のコドがどこか間違えているのでしょうか?
20
18
 
21
- } else {
22
-
23
- //成功時の処理
24
-
25
- }
26
-
27
- });
28
-
29
- ```
30
-
31
- とありますが、
32
-
33
- 複数のobjetIdを記録したListを用List内objectIdと一致すオブジェクトを複数取得するにはどうすればいいでしょうか?
19
+ ある下記コードとは別方法で上記実装ができのであればご教授願ます。
34
20
 
35
21
 
36
22
 
37
23
  ・試したこと
38
24
 
39
- Listの長さ分、上記の処理を繰り返すことで複数のデータ取得はできましたが、APIの使用回数を減らすためにこの方法はできれば使いたくありません。
25
+ ```C#
40
26
 
27
+ NCMBQuery<NCMBObject> q=new NCMBQuery<NCMBObject>("Hoge");
28
+
29
+
30
+
31
+ q.WhereContainedIn("objectId",IDList);//IDListは複数のobjectIdを記録しているList
32
+
33
+
34
+
35
+ q.FindAsync((List<NCMBObject> objs, NCMBException e) =>
36
+
37
+ {
38
+
39
+ if (e == null)
40
+
41
+ {
42
+
43
+ Debug.Log("DL");
44
+
45
+ }
46
+
47
+
48
+
49
+ });
50
+
51
+ ```
52
+
53
+
54
+
55
+ 質問内容とは別の実装内で使用しているクエリ検索(whereContainedInを含んでいない)は問題なく動いており、
56
+
57
+ またWhereContainedIn()の引数を”objectId”から他のフィールドに変えてもエラーが出るため、WhereContainedIn()自体に原因があるのではと思っています。
58
+
59
+
60
+
41
- 公式ドキュメント一読しましたが、上記実装ができる記述は見当たりませんでした
61
+ Listの長さ分、上記の処理繰り返すことで希望の実装はできましたが、API使用回数を減らすためにこの方法はできれば使いくありません。
42
62
 
43
63
 
44
64