私はGoogle API documentationがもう少し新しい初心者だったと思います。Google Datastore Use GASのAPIを使用してIDでクエリを選択
私はすべてのエンティティを選択する、エンティティを更新する、挿入する、削除するという作業をしました。今度は、特定のエンティティを基準で選択したいと考えています。 API https://datastore.googleapis.com/v1/projects/project-id-5200707080506492774:runQueryはこの目的のためのもので、「query:{}」のペイロードを提供すると、すべてのエンティティが取得されます。私はKindでフィルタリングすることもできます。しかし、私はどのようにプロパティでフィルタリングするかを理解することはできません。
var payload =
{
"query": {
"kind": [
{
"name": "Test"
}
],
"filter": {
"propertyFilter": {
"property": {
"name": "id"
},
"op": "EQUAL",
"value": {
"stringValue": "5634472569470976"
}
}
}
}
}
しかし、私は200の結果のバッチを取得::私はこのJSON文字列化されたペイロードを名前でエンティティを取得しようと
AKA
{
"batch": {
"entityResultType": "FULL",
"endCursor": "CgA=",
"moreResults": "NO_MORE_RESULTS"
}
}
:何が見つかりませんでした。
エンティティの名前/ IDなどのデータフィールドを選択する方法について私に教えてもらえますか?
編集:ここでは
は私のエンティティのファイル構造です。私は要求されたとして、私のテストフィールドに対してチェックするために、フィルタクエリを完了し、200以下の応答を得た
:
{
"batch": {
"entityResultType": "FULL",
"entityResults": [
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5715999101812736"
}
]
},
"properties": {
"test": {
"stringValue": "hello world"
}
}
},
"cursor":
"CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA
1MDY0OTI3NzRyEQsSBFRlc3QYgICAgLzVkwoMGAAgAA==",
"version": "1503343819165000"
}
],
"endCursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgLzVkwoMGAAgAA==",
"moreResults": "NO_MORE_RESULTS"
}
}
{
"batch": {
"entityResultType": "FULL",
"entityResults": [
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5634472569470976"
}
]
},
"properties": {
"test": {
"stringValue": "Hi it is me"
}
}
},
"cursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1
MDY0OTI3NzRyEQsSBFRlc3QYgICAgN6QgQoMGAAgAA==",
"version": "1503343869436000"
},
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5639445604728832"
}
]
},
"properties": {
"test": {
"stringValue": "testtesttest"
}
}
},
"cursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgLyhggoMGAAgAA==",
"version": "1503343008992000"
},
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5649391675244544"
}
]
},
"properties": {
"test": {
"stringValue": "testtest"
}
}
},
"cursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgPjChAoMGAAgAA==",
"version": "1503342946693000"
},
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5659313586569216"
}
]
},
"properties": {
"test": {
"stringValue": "testtesttest"
}
}
},
"cursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgNrjhgoMGAAgAA==",
"version": "1503343059530000"
},
{
"entity": {
"key": {
"partitionId": {
"projectId": "project-id-5200707080506492774"
},
"path": [
{
"kind": "Test",
"id": "5715999101812736"
}
]
},
"properties": {
"test": {
"stringValue": "hello world"
}
}
},
"cursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgLzVkwoMGAAgAA==",
"version": "1503343819165000"
}
],
"endCursor": "CjsSNWogc35wcm9qZWN0LWlkLTUyMDA3MDcwODA1MDY0OTI3NzRyEQsSBFRlc3QYgICAgLzVkwoMGAAgAA==",
"moreResults": "NO_MORE_RESULTS"
}
}
編集:彼らは一種のテストの下に編成されています
あなたが '' id'と 'Test'エンティティ5634472569470976'なし祖先を持っていますか:私はこれらの線に沿って何かが考える? –
要求が正しいように見えます。 ** id **はエンティティのプロパティですか、エンティティキーで検索しようとしていますか? ** id **が実際にプロパティである場合、データ型は何ですか?データ(5634472569470976)を見ると、Integerかもしれませんが、フィルタは文字列型を探しています。ダブルチェック/確認してください。 –
私は元の投稿にkindクエリのデータ構造を追加しました。エンティティ5634472569470976をIDで取得したいとします。 APIによってプロパティでフィルタリングできるのは、そのキーでどのようにフィルタリングするのですか?私はIDで引っ張ることができるように別のIDフィールドを追加する必要がありますか? –