ParseDb GAS 库中的解析核心指针类型关系
Posted
技术标签:
【中文标题】ParseDb GAS 库中的解析核心指针类型关系【英文标题】:Parse Core Pointer type Relations in ParseDb GAS library 【发布时间】:2015-02-21 12:40:04 【问题描述】:我正在尝试使用 Google Apps 脚本运行修改 Parse Core 数据库的日常工作。
我想根据指向特定用户的字段查询表。
在 Parse javascript 库中,这并不麻烦,但是 ParseDb 库的设计目的与旧的 ScriptDb 库(我从未使用过)相同......并且查看 ScriptDb 的旧文档,没有关于这种情况的信息似乎不多。
简单地将用户对象传递给查询似乎并没有帮助。它只是在日志中引发了一个错误,表明 ParseDb 需要一个指针类型,但是关于如何实际获取指针类型的信息很少......我尝试传递用户 ID(使用.getId()
),并且这似乎也不起作用。
【问题讨论】:
【参考方案1】:Parse 有一个 REST API,您可以使用它与 UrlFetchApp.fetch()
一起将 HTTP 请求发送到 Parse。
Parse Documentation
在快速参考中,有对请求格式的解释:
Parse - Quick Reference
所有 API 访问都通过 HTTPS,并通过 https://api.parse.com 域。相对路径前缀 /1/ 表示 我们目前使用的是 API 版本 1。
要检索对象,您需要配置 URL:
/1/classes/<className>/<objectId>
所以,网址是:
https://api.parse.com/1/classes/<className>/<objectId>
您可以将该 URL 放入 UrlFetchApp.fetch(url, optional parameters)
的 URL 参数中。
Google Documentation - UrlFetchApp.fetch()
要进行数据查询,您可以使用“where”网址参数:
'where="playerName":"Players Name","cheatMode":false'
Parse Documentation - Query Constraints
我不确定它是如何使用的。它似乎是一个 URL 搜索字符串参数。 我猜它与以下内容相同:
https://api.parse.com/1/classes/<className>/<objectId>?where="playerName":"Players Name","cheatMode":false
UrlFetchApp
var options = method:GET;
var theUrl = https://api.parse.com/1/classes/<className>/<objectId>;
var whereQuery = "?where="playerName":"Players Name","cheatMode":false";
UrlFetchApp.fetch(theUrl + whereQuery, options);
我没有对此进行测试,因此您可能需要进行一些更改,但这是基本思想。
【讨论】:
好的,所以我可以正常工作...但我似乎无法弄清楚如何使用 UrlFetchApp 发送查询...我可能只是愚蠢,但我可以'在文档中看不到有关查询字符串的任何内容。有“有效负载”,但它说 GET 不使用有效负载... 啊,现在我想我还有另一个问题。类中每个项目的 ACL 设置为关联的用户。因此,这些 REST API 调用返回空结果。我想我需要将其设置为其他内容。还是对用户进行身份验证...? 是的,您可能需要在查询数据之前运行身份验证。您可以将UrlFetchApp.fetch()
分配给一个变量,然后检查返回的内容。此外,在调试中逐步了解发生了什么。 Apps Script Debugger以上是关于ParseDb GAS 库中的解析核心指针类型关系的主要内容,如果未能解决你的问题,请参考以下文章
Grails 项目在运行时不会从其自己的 lib 目录中的库中解析依赖关系
调用一个动态库中的函数,这个函数有一个参数是结构体指针,我如何使用这个指针?