1

Кто-нибудь проведет меня через синтаксис о том, как использовать метод runQuery для префикса gqlQuery с помощью API облачного хранилища данных REST API v1. Мне нужна помощь в понимании структуры запроса API REST и вам не нужна помощь с Google OAUTH или настройка облачного дататора. Я включил ссылку на документацию, например gqlQuery для запуска и структуру облачного хранилища ниже.Google Cloud Datastore REST API v1 (gqlQuery)

Метод: projects.runQuery https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery

Example gqlQuery = ("Select * From Customer") 

Образец Google DataStore Структура

id = "78090499534213120" 
    Address = "888 Fake St" 
    City = "Fake City" 
    FirstName = "Name" 
    LastName = "Name" 
    State = "CT" 

ответ

0
POST https://datastore.googleapis.com/v1/projects/{YOUR_PROJECT_ID}:runQuery?key={YOUR_API_KEY} 

Где {YOUR_PROJECT_ID} можно найти на домашней странице Cloud Console для вашего проекта и алфавитно-цифровой.

Тело сообщения будет JSON строку с деталями запроса, так что в вашем случае:

{ 
"gqlQuery":{"queryString": "select * from customer"} 
} 

Если вы хотите включить условными, вы можете сделать это, а также с помощью связывания параметра , Ниже пример показывает, как использовать позиционное связывание для достижения этой цели:

{ 
    "gqlQuery": 
    { 
     "queryString": "select * from Customers where State = @1 AND FirstName = @2", 
     "positionalBindings": [ 
     {"value": {"stringValue": "CT"}}. 
     {"value": {"stringValue": "Name"}} 
     ] 
    } 
} 

Вместо позиционных связывания, можно также сделать именованные привязки:

{ 
    "gqlQuery": 
    { 
     "queryString": "select * from Customers where State = @State AND FirstName = @FirstName", 
     "namedBindings": { 
      "State": {"value": {"stringValue": "CT"}}, 
      "FirstName": {"value": {"stringValue": "Name"}} 
     } 
    } 
} 

Наконец, и не рекомендуется как это может привести чтобы запросить инъекции, вы можете включить литералы в строку запроса, установив соответствующий флаг:

{ 
    "gqlQuery": 
    { 
     "queryString": "select * from Customers where State = 'CT' AND FirstName = 'Name'", 
     "allowLiterals": true 
    } 
} 
0

У вас есть получить правильный ответ, когда вы сделаете этот запрос? Я получаю следующий ответ 200, но не вижу какой-либо из моих ожидаемых строк данных

{ "партии": { "entityResultType": "ПРОЕКТИРОВАНИЕ", "endCursor": "CgA =", «moreResults»: «NO_MORE_RESULTS» ​​ } }