gpt4 book ai didi

javascript - 如何通过 npm 安装 CloudKit JS 库

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:19 25 4
gpt4 key购买 nike

我目前正在使用 CloudKit JS API 并使用 Node.js 编写脚本。

我安装了Apple提供的cloud kit库here通过这样做:

curl "https://cdn.apple-cloudkit.com/ck/2/cloudkit.js" > cloudkit.js

脚本是下一个:

var fetch = require("node-fetch");
var CloudKit = require("./cloudkit.js");

CloudKit.configure({
services: {fetch: fetch},
containers: [{
containerIdentifier: 'CONTAINER',
apiToken: 'TOKEN',
environment: 'development'
}]
});

var container = CloudKit.getDefaultContainer();
container.setUpAuth();
var publicDB = container.publicCloudDatabase;

function demoPerformQuery() {
publicDB.performQuery({recordType: 'Schedule'}).then(function(response){
console.log(response)
}).catch(function(error){
console.log(error)
})
}

demoPerformQuery();

运行时的输出是:

(node:30096) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): [CKError
ckErrorCode: AUTHENTICATION_FAILED
extensionErrorCode: undefined
isCKError: true
isError: true
isServerError: true
isServerExtensionError: true
message: no auth method found
name: Error
reason: no auth method found
recordName: undefined
redirectURL: undefined
retryAfter: undefined
serverErrorCode: AUTHENTICATION_FAILED
subscriptionID: undefined
uuid: 63b0ebe0-852a-454b-afc4-5a669e0a307c
zoneID: undefined
]
{ Error: no auth method found
at Function.value (/home/pi/Web/cloudkit.js:14:1432)
at /home/pi/Web/cloudkit.js:13:27352
at process._tickCallback (internal/process/next_tick.js:109:7)
_ckErrorCode: 'AUTHENTICATION_FAILED',
_uuid: '63a63eff-a962-4299-afcf-85c1a916f9ea',
_reason: 'no auth method found',
_serverErrorCode: 'AUTHENTICATION_FAILED',
_extensionErrorCode: undefined,
_retryAfter: undefined,
_recordName: undefined,
_subscriptionID: undefined,
_zoneID: undefined,
_redirectURL: undefined,
message: 'no auth method found' }

正如我在StackOverflow中读到的那样解决方案可能是使用 npm 安装它,但作为 Node 新手,我陷入了 npm run-script install-cloudkit-js 的困境,因为我没有该脚本,而且不知道如何继续。

最佳答案

看来您的问题与 container.setUpAuth(); 的 promise 有关

尝试更改您的代码,使其看起来更像这样:

  var fetch = require('node-fetch');

var CloudKit = require('./cloudkit');

CloudKit.configure({
services: {fetch: fetch},
containers: [{
containerIdentifier: 'CONTAINER',
apiToken: 'TOKEN',
environment: 'development'
}]
});

var container = CloudKit.getDefaultContainer();
var database = container.publicCloudDatabase;

container.setUpAuth()
.then(function(userInfo){
publicDB.performQuery({recordType:'Schedule'}).then(function(response){
console.log(response);
}).catch(function(error){
console.log(error);
})
})();

关于javascript - 如何通过 npm 安装 CloudKit JS 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45191772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com