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 目录中的库中解析依赖关系

调用一个动态库中的函数,这个函数有一个参数是结构体指针,我如何使用这个指针?

底层解析C指针

关于JAVA调用C的DLL库中的函数问题,传入一个含有指针的结构体指针

c中的插件架构类型