問題タブ [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.
google-apps-script - Google Apps Script で CloudKit Web サービス API を使用して CloudKit パブリック データベースにクエリを実行すると、AUTHENTICATION_FAILED が発生する
CloudKit Web サービス API を使用して、Google Apps Script 内の運用 CloudKit コンテナーの公開データベースから記事レコードを取得しようとしています。
私のリクエストは、このページのドキュメントに基づいています。
これが私のコードです:
UrlFetchApp.fetch(url, options)
このエラーで失敗します:
数時間トラブルシューティングを行ってきましたが、何が間違っているのかわかりません。開発環境でも別のトークンで試してみましたが、同じことが起こります。
このページにはパラメータが記載ckWebAuthToken
されており、「省略して必要な場合、リクエストは失敗します」と書かれていますが、どのリクエストにckWebAuthToken
. ckWebAuthToken
アクセスしようとしているレコードはコンテナーの公開データベースにあるため、必要ないと思いますが、AUTHENTICATION_FAILED
エラーではなくAUTHENTICATION_REQUIRED
エラーが発生しています。
私を混乱させるのは、エラー メッセージに表示される次の URL です。
私はそれが次のようになることを期待します:
しかし、それが実際に要求されている URL であるかどうかはわかりませんurl
。変数をログに記録すると、すべて問題ないように見えます。
トラブルシューティングのヒントや解決策をお寄せいただきありがとうございます。
アップデート
Postman を使用してみましたが、リクエストは同じエンドポイントと POST データで機能しました。URLのcontainer
コンポーネントが Google Apps ScriptUrlFetchApp.fetch()
メソッドによって破損しているようです。が URL にある<?>
場合にのみ表示されるようです。com.
cloudkit - Python を使用した CloudKit API
私の iOS アプリは、バックエンドとして CloudKit を使用しています。このアプリは基本的に、簡単なユーザー情報 (名前、会社、電子メール、電話番号) を収集します。
このすべてのデータをクラウドキット ダッシュボードから csv ファイルにエクスポートして、このデータを別のデータベースにアップロードできるようにしたいと考えています。
私はこれに従いました:https://github.com/lionheart/requests-cloudkit私のAPIを認証します。
ただし、データベースからレコードをクエリして取得する方法がわかりません。
私が実行すると:
戻り値:
しかし、レコードタイプ「設立」のすべてのレコードを返すようにしたい。
どんな助けでも大歓迎です!
ありがとう!
javascript - CloudKit.js のセキュリティ
そこで、Apple から提供された例 (CloudKit カタログ) を読んだところ、書き込みまたは読み取りを行うたびに、API トークンをスクリプトに入れる必要があることに気付きました。
現在、Javascript はクライアントベースです。つまり、すべてのユーザーが API トークンを読み取って、コンテナーに読み書きできるということですか?!
このコードは、Javascript ファイルの 1 つにあります。
ここでの質問は次のとおりです。何かが足りないのでしょうか、それともノードを介したサーバー間通信を使用するための解決策ですか?
ruby-on-rails - 秘密鍵とメッセージが与えられた場合、ECDSA 署名を生成する方法がわからない
CloudKit Web サービス要求の作成に関するApple のガイドに従っています。私が問題を抱えているビットは、「Authenticate Web Service Requests」の下のステップ 2 です。
- 秘密鍵を使用して、このメッセージの ECDSA 署名を計算します。
この時点に到達する前に、証明書である .pem ファイルを生成しました。このファイルをテキスト エディターで開くと、秘密鍵が表示されるので、それも文字列形式になっています。
また、メッセージと呼ばれるものを生成するための手順も実行しましたが、これは現在文字列として持っています。
したがって、秘密鍵 (または必要に応じて .pem ファイル) と文字列としてのメッセージがあるとすれば、理論的には、メッセージの ECDSA 署名を秘密鍵で計算して取得するのはかなり簡単なはずです。しかし、ここで私は苦労しています。私がオンラインで見つけたライブラリは、さまざまな可動部分があり、.pem ファイルへの参照がなく、新しい公開/秘密鍵の生成について話している、はるかに複雑なアプローチを取っているようです。
このステップで何か助けていただければ幸いです。
ruby-on-rails - サーバー間 CloudKit Web サービスへの呼び出し時の認証エラー
リクエストの認証に関するAppleのガイドに従って、CloudKit Webサービスとの基本的な統合を実装しようとしています。リクエストを適切に承認する方法については、 thisとthis questionの助けを借りて、すべての手順を正しく実行しているように見えますがAUTHENTICATION_FAILED
、Apple から 401 エラーが引き続き発生します。
私が対象としているエンドポイントは、レコード名を指定してレコードを取得するための POST エンドポイントです。
コードにコメントを追加して、さまざまな段階で得られる出力を表示し、代替証明書を使用したため、本物の秘密鍵を提供していません。
最終結果は次のとおりです。
レスキュー: 401 Unauthorized
ここで何が間違っているのかわかりません-すべての手順を正しく実行しているようです。ログが誰かがこれがどこで間違っているのかを理解するのに役立つことを願っています.
angular - Angular 2 と Cloudkit JS - 応答の約束を解決する
現在単純な Todo である Cloudkit JS で Angular 2 を動作させようとしています。
todo.request.js :
これはArray [ Object, Object ]
私が望んでいたものであり、これまでのところすべて良好です。
todo.service.tsには次のものがあります。
todorequest.get()から得られるものは、 Object { Symbol(record)_1.k31kpejw2af: Object }
. Todo[]で変換してデータを使えるようにするにはどうすればいいですか?正直なところ、何が間違っているのかわかりません。
javascript - Cloudkit JS サンプル コード?
Cloudkit を使用する iOS アプリがあり、現在、ユーザーを登録するための Web アプリケーション (HTML5、CSS、および Javascript を使用) を開発しています。すでにドキュメントを読み、いくつかのチュートリアルに従っていますが、何も機能していないようです。エラーがない場合もあるので、何が間違っているのか本当にわかりません。Cloudkit JS を使用してデータを保存およびフェッチする方法のサンプル コードを投稿できますか? 私は Visual Studio で開発していると言うことが重要です。お願いします、私は本当に必死です!
cloudkit - Cloudkit Web サービス クエリ BadRequestException
名前が文字列に等しい単純なオブジェクトについて CloudKit にクエリを実行しようとしていますが、BadRequestException
.
RecordType は "Teacher" で、パラメータは "Name" と "Grade" です。
クエリ フィルターに何か問題があると推測していますが、Apple の参照用に仕様外のものを見つけることができません。
結果のエラー:
{u'serverErrorCode': u'BAD_REQUEST', u'reason': u'BadRequestException: 無効な値です。タイプ STRING が予期されていましたが、実際の値はクラス com.apple.cloudkit.ws.application.common.data.UnknownTypeModel のオブジェクトでした', u'uuid': u'c254448d-130e-4c6c-8170-554d976a1789'}