javascriptを最近始めました。
チュートリアルやサンプルコードなどで独学していますが、どうしても分からない点がありますので、どなたか教えていただけると助かります。
チュートリアルからのこちらのリンクに記載されているパラメータ「pathOrUrl」が分かりません。
https://developer.cybozu.io/hc/ja/articles/202166310-kintone-REST-API-%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88
「kintone REST APIのパスもしくは、kintone.api.urlで取得したURLを指定します。 」と記載されていますが、どのように確認するのでしょうか?もしくはどこで取得するのでしょうか?
実現したい機能は、編集モードになったときに、特定のアプリの条件のレコードのフィールド値を取得したいです。
該当のアプリの編集画面はこの実URLです。この場合はパラメータ「pathOrUrl」はどのようになるのでしょうか?
https://xxxxx.cybozu.com/k/16/show#record=54&l.view=5517970&l.q&l.sort_0=f5517813&l.order_0=DESC&l.next=52&l.prev=0&mode=edit
ネットで見つけたコードを編集してみました。
(function() {
“use strict”;
//PC用
kintone.events.on([‘app.record.edit.show’],function(event) {
var body = {
‘app’: 16,
‘query’: ‘顧客No=21 order by 対応日時 dec limit 10 offset 1’,
‘fields’: [‘対応日時’]
};
window.alert(body);
kintone.api(kintone.api.url(‘/k/v1/records’, true), ‘GET’, body, function(resp) {
// success
console.log(resp);
}, function(error) {
// error
console.log(error);
});
})})();
だいたいの疑問はネットの情報で自己解決してきましたが、どうしてもこの部分が分かりません。
プログラム歴はありますが、javascriptは初心者なので教えてください。
よろしくお願いいたします。
栗栖 史匡 さん
こんにちは。ひよこです。
栗栖さんが実現したい話の場合、特定のアプリのレコードを条件を指定して取得するので、レコードの一括取得(クエリで条件を指定)API を使います。
なので、pathOrUrl には、 ‘/k/v1/records’ か、kintone.api.url(‘/k/v1/records’, true) を指定します。
pathOrUrl は、ドメイン名は省略して、各APIの URL 部分を指定します(ただし、.jsonはつけない)
たとえば、カーソルの作成APIを使う場合は、‘/k/v1/records/cursor’ か kintone.api.url(‘/k/v1/records/cursor’, true)です。
ちなみに、アプリIDや検索条件(クエリ)などは、params(書かれているコードの場合、body)で与えます。
‘/k/v1/records’ と kintone.api.url(‘/k/v1/records’) の違いは、ゲストスペースを自動で考慮するかです。
ゲストスペースでレコードの一括取得(クエリで条件を指定)API を実行したい場合、
本来であれば pathOrUrl には、‘/k/guest/(スペースのID)/v1/record’ を指定しないといけません。
なのでゲストスペースIDを事前に調べておかないといけません。
でも、kintone.api.url(‘/k/v1/records’, true) と書いておくと、戻り値で /k/guest/(スペースのID)/v1/records’ が返ってくるので、わざわざゲストスペースID を調べなくて済みます。
参考:https://developer.cybozu.io/hc/ja/articles/202166310#step2
もちろん、kintone.api.url() はゲストスペースじゃなくても使えるので、私は kintone.api.url() を使うようにしています
ゲストスペースで実行するときのために、この書き方を習慣づけておこうかなという感じです。
あと、該当のアプリの編集画面はこの実URLです。で、お使いの環境のドメイン名が書かれています。
投稿を編集して、https:// xxxxx.cybozu.com/k/16/show#record=54 … みたいに、ドメイン名は伏せたほうが良いかと思います。
ひよこさん
こんにちは。
アドバイスありがとうございます。
とても分かりやすくご解説くださり、また書き方についても非常に参考になりました。
こういうコミュニティの利用は初めてだったので投稿するのに戸惑いましたが思い切って質問してみてよかったです。
数日間悩んでいたことが一発で解決できました。
今後ともよろしくお願いいたします。