ATTENTION
ここで紹介するAPIは非推奨なAPIです。API使用による事故、トラブルなど一切の責任は負いません。
はじめに
kintoneには非公開のAPIがたくさんあります。
(中の人がこの話題に触れていいのかわからないですが、あるのは事実なのでw)
当然、非公開なのでdevnetには記載がありません。
でも調べようと思えばどんなリクエストを投げればよいかとかはわかります。
ということで、BB個人の記事ってことでその調べ方を少しだけご紹介します。
手順
手順的にはこんな感じです(BB調べ)
- 開発者ツールを開く
- ネットワークタブを開く
- 検索の絞り込みを 「json」 にする
- 普通にkintoneを操作する
- ネットワークタブに表示されるリクエストを読み解く
- URLやリクエストプロパティがわかる!
ってことで、サンプルで**「ピープルをフォロー/フォロー解除するAPI」**を例に説明します
開発者ツールのネットワークタブを開く
検索の絞り込みを 「json」 にする & 表示をリセットする
上の方に「Filter」があるので、そこにjson
と入力します。そうするとjsonに関係するものだけが表示されるので、リクエストが探しやすくなります。
そのFilter近くのø(○にスラッシュ)マーク
で履歴をリセットすることが可能です。
普通にkintoneを操作する
その状態で調べたいリクエストの操作(今回だとピープルをフォロー)すると、ネットワーク上にリクエストが表示されます。
はい、これがお目当ての非公開APIです!
ネットワークタブに表示されるリクエストを読み解く
表示されたリクエストをクリックすることで、Header
やPayload
が確認できるので、URLやリクエストパラメータがわかります。今回のピープルフォローAPIだとこんな感じでした。
const url = 'https://sample.cybozu.com/k/api/people/user/subscribe.json';
const method = 'POST';
const params = {
subscribe: true, // trueだとフォロー、falseだとフォロー解除っぽい
userId: 4, // フォローしたいユーザーのUserID
};
あとは調べた情報でAPIを叩くべし
新しいユーザーを追加して(userIDは5)、関係ないページでAPIを叩く!
const url = kintone.api.url('/k/api/people/user/subscribe.json');
const method = 'POST';
const params = {
subscribe: true,
userId: 5,
};
kintone.api(url, method, params).then(resp => console.log(resp)).catch(err => console.error(err));
他にも
/k/api/space/thread/post/list.json
で スレッドの投稿内容が取得 できそうだったり、
/k/api/space/my.json
で ログインユーザーの参加中のスペースが取得 できそうだったりいろいろできそうです。
おわりに
実は前々からこの方法で非公開APIを調べて スレッドの投稿内容のアーカイブ(レコードへコピー) や 外部サービスからピープルに投稿 などいろいろやってましたw
いや、ほんと助長しているとかじゃなく、アドベントカレンダーの12日が空いていたので埋める目的で即席で書いたネタ記事ってことでよろしくです。
ATTENTION
ここで紹介するAPIは非推奨なAPIです。API使用による事故、トラブルなど一切の責任は負いません。
(じゃあ記事書くなよなってのはナシでお願いしますw)
それでは!≧(+・` ཀ・´)≦