1

是否有人會引導我完成有關如何使用runQuery方法使用Google Cloud Datastore REST API v1預執行gqlQuery的語法。我只需要幫助理解REST API的查詢結構,並且不需要Google OAUTH的幫助或設置Cloud Datatore。我已經包含了一個指向文檔的鏈接,例如運行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") 

樣品谷歌數據存儲結構

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可以在雲端控制檯的主頁上找到你的項目是字母數字。

消息的主體將是一個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」: 「鉻素A =」, 「moreResults」:「NO_MORE_RESULTS」 } }

相關問題