问题标签 [cloudkit-web-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
383 浏览

cloudkit - CloudKit 身份验证返回 404

我正在开发一个使用 CloudKit 从 iOS 应用程序中获取数据的网络应用程序。作为应用程序的一部分,他们必须使用他们的 AppleID 登录。但是,当我尝试登录时,我收到 404。我请求以下 URL:

https://api.apple-cloudkit.com/1/[mycontainer]/development/users/current?ckAPIToken=[mytoken]

我得到一个看起来像这样的对象:

但是,当我将用户重定向到“redirectURL”参数时,我得到一个空白的 404 页面。检查页面时,会加载 idmsa.apple.com,但是当页面上的 JavaScript 请求 signin?widgetKey={key} 时,它会收到 404。

更新:我不确定这是否有帮助,但https://idmsa.apple.com/IDMSWebAuth/auth2?oauth_token=[TOKEN]加载正常。但是,该页面使用 JavaScript 加载https://idmsa.apple.com/appleauth/auth/signin?widgetKey=[widgetkey]&locale=US-EN失败并显示 404。但是,它只是对我来说失败了,而且似乎为他人工作。

0 投票
2 回答
972 浏览

javascript - 使用 CloudKit JS 更新记录

CloudKit JS 提供了保存、删除和获取记录的方法,但没有简单的方法来更新现有的。该文档解释了如何做到这一点:

我试过这段代码,它返回It's working但是我的记录没有更新,这段代码有什么问题?

0 投票
1 回答
928 浏览

cloudkit - 在 PHP 中按名称和查询获取 CloudKit 记录

我有一个使用 CloudKit 的应用程序,我正在尝试构建一个简单的 Web 界面来从 CloudKit 中提取数据,以便用户可以查看信息。登录工作正常,但我找不到任何关于如何构造记录/查询和记录/查找请求的示例。

对于记录/查找,我将发布到类似的 URL:

但是,使用 cURL 和 PHP,我似乎无法正确获取“记录”POST。错误消息没有提供足够的详细信息 Apple 没有在文档中提供任何示例。POST 记录以从 CloudKit 获得有效响应的正确方法是什么?

0 投票
2 回答
1324 浏览

json - 有没有通过 CloudKit 仪表板导入批量数据?

我看到了如何在 CloudKit 仪表板中创建记录类型并一次添加一个记录。我想尝试添加几百条记录进行测试。有没有办法将 CSV 或 JSON 文件导入仪表板?

0 投票
1 回答
580 浏览

cloudkit - 如何使用 CloudKit.js 查询 nil 值?

使用 CloudKit.js,我如何构造一个与字段为 nil 的项目匹配的查询?我尝试过的每个排列都失败了——要么它明显匹配一个字符串值(即“null”或“nil”),要么如果我实际上尝试传递“null”,它会抛出一个错误。

有任何想法吗?以下都不起作用。

0 投票
1 回答
448 浏览

cloudkit - 如何使用 CloudKit Web 服务根据参考字段进行查询?

我有两个看起来像这样的 CloudKit 数据对象:

父对象:

子对象:

我正在尝试编写一个查询以直接访问 CloudKit Web 服务并根据父对象的引用返回子对象。

我的测试 JSON 看起来像这样:

但是,我从 CloudKit 收到以下错误:

{"uuid":"33db91f3-b768-4a68-9056-216ecc033e9e","serverErrorCode":"BAD_REQUEST","re​​ason":"BadRequestException: 意外输入"}

我猜我在查询中有错误的记录字段字典。但是,文档并不清楚这在参考对象上应该是什么样子。

0 投票
3 回答
1399 浏览

android - Can I access standard iOS Notes and Reminders' data using CloudKit web services or something like that?

I am thinking of building an Android app that fetches Notes and Reminders associated with an Apple ID. Is it possible to access them with http requests somehow? icloud.com uses their data, so I thought maybe it is exposed via some API, but I cannot find any documentation.

0 投票
0 回答
176 浏览

javascript - 带有 IN 比较器和数组值的 CloudKit JS 查询

我正在做一个 CloudKit JS 网络应用程序。

我在使用比较器 IN 进行查询时遇到问题。我尝试为 fieldValue 属性使用不同的值,但没有一个成功。

这是查询:

当我这样做时,我得到以下错误结果:

如果我更换

甚至

我得到以下错误结果:

如果我在查询中使用比较器“EQUALS”和单个值而不是数组,我会得到正确的结果而不会出错。

Cloudkit JS 文档说我们可以使用“IN”比较器。但是没有更多信息,即如何在查询中指定数组值。

有谁知道正确的语法使用?

0 投票
1 回答
1012 浏览

ios - 获取 CloudKit CKAsset URL?

我想与不使用我的应用程序的人共享公共数据库中的 CloudKit 资产。在 CKAsset 类中,只有一个fileURL指向本地文件的属性,因此没有给出 URL。

然而,在 CloudKit Web Services 的文档中,有一个“引用现有资产”请求,它在其响应中给出了downloadURL资产文件。

从我的应用程序调用它会给我一个 421 状态代码,在文档中描述为“AUTHENTICATION_REQUIRED”,因为它需要一个ckSession参数,它是一个“经过身份验证的用户的会话标识符”。它还传递了一个redirectURL,用户可以在其中输入他们的 iCloud 登录信息,然后被重定向回 Web 应用程序,现在带有一个会话标识符。

在应用程序中打开此 URL 不会立即返回会话标识符,而是希望用户在收到他们的会话 ID 之前在浏览器中完成登录过程。

这似乎完全偏离了轨道,而且是错误的做法。我当然不会让我的用户通过网络界面登录 iCloud。该 CloudKit Web 服务 url 唯一缺少的是会话 ID。有没有办法让我使用 CloudKit 框架来获得它?还是有其他方法可以让我找到这个文件的 URL?

0 投票
1 回答
367 浏览

javascript - CloudKit JS 顺序查询与 Knockoutjs 中的参考过滤器

在 iOS 应用程序的网站上工作,我缺乏 javascript 知识,我可以使用一些指导。

我的 CloudKit 数据库至少有两个记录类型:事件和组织,每个都有多个字段。组织记录类型包含对特定事件记录名称的引用。我正在尝试编写一个顺序查询,以便在调用每个事件后,它的记录名称将用于过滤组织的查询,以便我可以获取引用该事件的组织的相关名称、徽标等字段。

这种方法适用于 iOS 代码(XCode 7、Swift 2)。我可以成功调用knockoutjs代码中的每个recordType,所以我知道对db的访问是可以的。

下面的代码目前设置第一个函数(fetchRecords)调用第二个函数(fetchRecords2),然后合并两组记录。我确信这是一个糟糕的结构,但我尝试了不同的方法,现在有点迷失了。

HTML调用如下:

我看到所有事件字段(前四个),但组织名称(来自组织记录类型)导致出现错误。

任何帮助或建议将不胜感激。