2017-07-19 17 views
0

現在、CloudKit JS APIを使用していて、Nodeでスクリプトを実行しています。CloudKit JSライブラリをnpm経由でインストールするには

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(); 

それをされ実行されている出力:

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

スクリプトは次のいずれかです。

は私が行うことで、アップル hereが提供するクラウド・キット・ライブラリをインストールし

(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としていますが、ノードを持っている初心者としては、npm run-script install-cloudkit-jsと書いてありません。なぜなら、そのスクリプトがなく、進める方法がわからないからです。

答えて

0

あなたの問題は、それがより次のようになりますので、あなたのコードを変更してみてくださいcontainer.setUpAuth();

で約束に関係しているようですが表示されます:

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); 
    })  
})(); 
関連する問題