Slide 1

Slide 1 text

Webサービスの必須スキル: HTTPリクエスト入門 ©️2023 Cybozu Inc. 〜好きなプログラミング言語から Webサービスのkintoneにアクセスするワークショップ〜

Slide 2

Slide 2 text

もくじ ©️2023 Cybozu Inc. 会社紹介 1 5 mins kintoneとは? 2 5 mins kintoneハンズオン 3 15 mins HTTPリクエストとは? 4 15 mins プログラミング言語からのHTTPリクエスト(概要) 6 30 mins プログラミング言語からのHTTPリクエスト(ハンズオン) 7 20 mins Postmanのハンズオン 5 40 mins コメント・まとめ 8 10 mins 休憩(10min) 休憩(10min)

Slide 3

Slide 3 text

1. 会社紹介 - サイボウズとは? - ©️2023 Cybozu Inc.

Slide 4

Slide 4 text

サイボウズ株式会社とは 名称 サイボウズ株式会社(東証一部上場 4776) 事業内容 チームの情報共有サービス 「グループウェア」 の開発・販売・運用 チームワーク強化メソッドの開発・普及 創業 1997年8月(創業:愛媛県松山市) 所在地 東京都中央区日本橋2-7-1 東京日本橋タワー 拠点 東京, 大阪, 松山, 名古屋, 福岡, 仙台, 広島、札幌 上海, 深圳, 台北, ホーチミン, サンフランシスコ, シドニー, バンコク 資本金 613百万円 業績 連結売上 25,497百万円 ※2023年12月期:業績予想 従業員数 連結 1,115名 ※2022年12月末時点 平均年齢 35歳 ※2022年12月末時点 ©️2023 Cybozu Inc.

Slide 5

Slide 5 text

サイボウズの企業理念 チームワークあふれる社会を創る Purpose (存在意義) ©️2023 Cybozu Inc.

Slide 6

Slide 6 text

グループウェア事業(ツール) 大企業向けグループウェア 業務アプリ構築クラウド 中小企業向けグループウェア メール共有システム ©️2023 Cybozu Inc.

Slide 7

Slide 7 text

グループウェア事業(ツール) 大企業向けグループウェア 業務アプリ構築クラウド 中小企業向けグループウェア メール共有システム ©️2023 Cybozu Inc. 今回はkintoneを使用して ワークショップをしていきます!

Slide 8

Slide 8 text

2. kintoneとは? - キントーンのきほん - ©️2023 Cybozu Inc.

Slide 9

Slide 9 text

kintoneとは チームで使うWebデータベースを 簡単に作成できるクラウドサービス ©️2023 Cybozu Inc.

Slide 10

Slide 10 text

kintoneの特徴 ©️2023 Cybozu Inc.

Slide 11

Slide 11 text

kintoneの特徴 ©️2023 Cybozu Inc. データを貯めることが できる GUIで簡単に 操作できる APIが豊富

Slide 12

Slide 12 text

データを貯めることが できる ⚫ 必要な情報を蓄積・共有できる データベース ⚫ kintone上では「アプリ」と呼ばれる ©️2023 Cybozu Inc.

Slide 13

Slide 13 text

GUIで簡単に操作できる ⚫ 左側の項目から適切なフィールド を選択しドラッグ&ドロップでア プリが作成できる ⚫ 位置やサイズの変更もできる ⚫ 作成・変更をUI(画面)上でできる ©️2023 Cybozu Inc.

Slide 14

Slide 14 text

APIが豊富 ⚫ REST API ⚫ kintoneのデータ連携をすることができる ⚫ kintoneにデータが登録されたらLINEに通知する ⚫ Alexa(音声認識デバイス)からkintoneにデータ を登録する ⚫ JavaScript API ⚫ kintoneの画面の動作や、 見た目を変えるカスタマイズができる ⚫ 一覧画面が表示されたときにボタンを表示 ©️2023 Cybozu Inc. APIとは? API:Application Programming Interface ソフトウェアやプログラム、Webサービスを 連携させる仕組みのこと REST API

Slide 15

Slide 15 text

3. kintone ハンズオン - キントーンをさわってみよう! - ©️2023 Cybozu Inc.

Slide 16

Slide 16 text

様々な業務アプリ ⚫kintoneは様々な『業務アプリ』が作れる ⚫『業務アプリ』とは? ⚫ チームと情報共有が出来るデータベース ⚫ 顧客管理、案件管理、FAQ、社内アンケート 等 ©️2023 Cybozu Inc.

Slide 17

Slide 17 text

オリジナルのkintoneアプリを作ってみよう! ⚫自分のkintone開発者ライセンスの環境にログインして、kintone アプリを作ってみよう ⚫ kintone開発者ライセンスを持ってない人は https://cybozu.dev/ja/ か ら取得しよう ⚫どういうkintoneアプリを作る? ⚫ 皆さん学生なので、業務と関係無いものでOK ⚫ 普段エクセルで管理してるものを参考にkintoneアプリにしてみよう ⚫ 何も思いつかない場合は講師が作るものを一緒に作ろう ⚫ 漫画データーベースを作ろう! ©️2023 Cybozu Inc.

Slide 18

Slide 18 text

kintoneアプリを作成してみよう ⚫kintone開発者ライセンスにログインして、『kintone』をク リックしよう ©️2023 Cybozu Inc. https://{サブドメイン名}.cybozu.com にアクセス(メールを確認しよう!) クリック

Slide 19

Slide 19 text

kintoneアプリを作成してみよう ⚫ポータル画面から新しいkintoneアプリを作っていこう ©️2023 Cybozu Inc. クリック クリック

Slide 20

Slide 20 text

kintoneアプリを作成してみよう ⚫アプリに名前をつけて、フィールドを配置しよう ©️2023 Cybozu Inc. アプリに名前をつける ドラッグ&ドロップで フィールドを配置する

Slide 21

Slide 21 text

kintoneアプリを作成してみよう ⚫フィールドの設定を変更しよう ©️2023 Cybozu Inc. フィールドにマウスをホバーし、 歯車から【設定】を選択 フィールド名を 『タイトル』に変更 フィールドコードを 『manga_title』に変更 ※フィールドコードはこの フィールド用の識別IDです

Slide 22

Slide 22 text

kintoneアプリを作成してみよう ⚫他のフィールドも設定しよう ©️2023 Cybozu Inc. フィールドの種類 フィールド名 フィールドコード 文字列(1行) タイトル manga_title チェックボックス ジャンル manga_genre 文字列(1行) 漫画家 manga_artist 文字列(複数行) あらすじ manga_plot 終わったらフォームを保存する

Slide 23

Slide 23 text

kintoneアプリを作成してみよう ⚫アプリを公開(利用可能な状態に)しよう ⚫データがまだ何も入ってないので、さっそく追加しよう ©️2023 Cybozu Inc. クリック ※アプリは完成しましたが、データが 全く入ってないので、こう見えます クリック

Slide 24

Slide 24 text

作成したkintoneアプリにデータを追加してみよう ⚫データ(レコード)を5つほど追加してみよう ©️2023 Cybozu Inc. フォームに情報を入力 してから【保存】を クリック さらに新しいデータ(レコード)を 追加したい場合は+をクリック データの一覧画面に 移動したい場合はここをクリック

Slide 25

Slide 25 text

作成したkintoneアプリにデータを追加してみよう ©️2023 Cybozu Inc. ⚫レコードの一覧画面がこのようにデータがいっぱい入ってたらOK!

Slide 26

Slide 26 text

4. HTTPリクエストとは? ©️2023 Cybozu Inc.

Slide 27

Slide 27 text

HTTPリクエストとは ⚫ChatGPT先生に聞いてみた ©️2023 Cybozu Inc.

Slide 28

Slide 28 text

HTTPリクエストとは ⚫ChatGPT先生に聞いてみた(解説) ©️2023 Cybozu Inc. クライアントとウェブが やりとりするための ルール やりとりのルールとして、 リクエストに下記を含める: ・メソッド ・URL ・ヘッダー ・ボディ(任意) リクエストを送信すると レスポンスがもらえる

Slide 29

Slide 29 text

例えるならファミレス ⚫顧客が席についてから、顧客がご飯を食べれるようになるまで 何をする必要がある? ©️2023 Cybozu Inc.

Slide 30

Slide 30 text

例えるならファミレス ⚫顧客が席についてから、顧客がご飯を食べれるようになるまで 何をする必要がある? ©️2023 Cybozu Inc. えびとベーコンのトマトソー スパスタが食べたいです えびとベーコンのトマトソー スパスタをお持ちしました

Slide 31

Slide 31 text

例えるならファミレス ⚫顧客のリクエストはHTTPリクエストっぽく分解出来る ©️2023 Cybozu Inc. メソッド:GET URL:ホールさん ヘッダー:言語は日本語 ボディ:エビとベーゴンの トマトソースパスタ レスポンス: - お皿に載せたえびと ベーコンのトマトソース パスタ

Slide 32

Slide 32 text

例えるならファミレス ⚫このルールはホールさんにしか使えない(顧客がキッチンに話に行く ことは無い) ©️2023 Cybozu Inc. 顧客がコミュニケーション 出来るレイヤー 顧客がコミュニケーション 出来ないレイヤー

Slide 33

Slide 33 text

WebサービスへのHTTPリクエスト ⚫天気のWebサービス ©️2023 Cybozu Inc. 天気サービス (サーバ) アプリの端末 函館市の天気を リクエスト 函館市の天気を レスポンス

Slide 34

Slide 34 text

kintoneへのHTTPリクエスト ⚫kintoneに対してリクエストすればデータのやりとりが出来る ©️2023 Cybozu Inc. クライアントアプリA クライアントアプリB

Slide 35

Slide 35 text

5. Postmanのハンズオン ~HTTPリクエストをしてみよう~ ©️2023 Cybozu Inc.

Slide 36

Slide 36 text

Postmanとは ⚫ Postmanは、GUIでHTTPリクエストを作成、 送信、テスト、デバッグするためのクライア ントアプリケーション ⚫ HTTPメソッド(GET、POST、PUT、 DELETEなど)、URL、ヘッダーやボディが 指定可能 ⚫ リクエストに対するレスポンスも確認可能 ©️2023 Cybozu Inc.

Slide 37

Slide 37 text

Postmanアプリのダウンロード ⚫https://www.postman.com/ にアクセスし、Get Started Freeを選択 ©️2023 Cybozu Inc. ① ②

Slide 38

Slide 38 text

Postmanのアプリのダウンロード ⚫自分のOSに合ったアプリをダウンロード ©️2023 Cybozu Inc.

Slide 39

Slide 39 text

Postmanアプリの起動 ⚫アプリの起動後、アカウントを作成せずに、【Skip and go to the app】でアプリを使用開始 ©️2023 Cybozu Inc.

Slide 40

Slide 40 text

Postmanのインターフェース ©️2023 Cybozu Inc. HTTPリクエストの詳細を 記入するエリア HTTPリクエストの レスポンスの 表示エリア HTTPリクエストの 実行ボタン 新しいHTTPリクエストを 作成するボタン 今まで実行した HTTPリクエストの 履歴

Slide 41

Slide 41 text

HTTPリクエストをしてみる(郵便番号検索API) ⚫郵便番号検索APIに郵便番 号を渡し、それに関する情 報をレスポンスで受け取る ⚫ドキュメントはこちら http://zipcloud.ibsnet.co. jp/doc/api ©️2023 Cybozu Inc. 情報を取得するので、GETを選択 リクエスト先のURLを入力 Keyに『zipcode』 Valueに『0400001』 を入力 下のKeyとValueを入れると 自動で補完される ① ② ③

Slide 42

Slide 42 text

HTTPリクエストをしてみる(郵便番号検索API) ©️2023 Cybozu Inc. Postman 郵便番号 検索API リクエスト レスポンス 郵便番号4228017に関する 情報をください 住所と読み仮名を 返します クリック レスポンスが JSONという形で 表示される こういう処理が行われている↓ ① ②

Slide 43

Slide 43 text

レスポンスの形はJSON ⚫ JSON(ジェイソン)は、データを表現するための軽量で人間に読みやすい形式 のテキストデータ形式 ⚫ キーと値のペアで構成されており、文字列、数値、真偽値、配列、オブジェク ト、null など、様々なデータ型をサポートしている ⚫ プログラミング言語に依存しない ©️2023 Cybozu Inc. キー 値

Slide 44

Slide 44 text

⚫kintoneにもリクエストしてみよう! ©️2023 Cybozu Inc.

Slide 45

Slide 45 text

kintoneアプリのデータもリクエストしてみよう ⚫やりたいこと ©️2023 Cybozu Inc. Postman 漫画データベース Postman 漫画データベース ① kintoneへのGETリクエスト ② kintoneへのPOSTリクエスト 日常系のマンガの一覧を頂戴 日常系のマンガの一覧です 鳥山明が描いた『ドラゴンボール』を 追加したいです 追加出来ました

Slide 46

Slide 46 text

kintone側の準備をしよう(APIトークンの生成) ⚫kintoneへのリクエストは認証情報が必要なので、APIトークン をアプリから生成する ©️2023 Cybozu Inc. クリック クリック クリック ③ ① ②

Slide 47

Slide 47 text

kintone側の準備をしよう(APIトークンの生成) ⚫APIトークンを生成し、メモをしておく ©️2023 Cybozu Inc. クリック チェック入れる どこかに メモしておく APIトークンが生成できたら 設定を保存する ③ ① ② 【アプリを更新する】をクリックする ④

Slide 48

Slide 48 text

kintoneアプリからデータを取得する ⚫kintoneで作った漫画データベースからデータを取得してみる ©️2023 Cybozu Inc. Postman 漫画データベース ① kintoneへのGETリクエスト 日常系のマンガの一覧を頂戴 日常系のマンガの一覧です ドキュメント: https://cybozu.dev/ja/kintone/docs/rest- api/records/get-records/ ドキュメントを読むと、下記が分かる: - HTTPメソッドは GET - エンドポイントURLが https://{サブドメイン 名}.cybozu.com/k/v1/records.json - appパラメータはリクエストには必須な情報 - queryパラメータはリクエストには必須では無い が、含めると取得する情報の絞りこみが出来る

Slide 49

Slide 49 text

kintoneアプリからデータを取得する ⚫メソッド、URLとパラメータを設定する ©️2023 Cybozu Inc. ① ② ③ 自動で補完される 自分の環境の名前と置き換えよう アプリのIDはkintoneアプリのURLに入っている↓ https://{サブドメイン名}.cybozu.com/k/{アプリID}/

Slide 50

Slide 50 text

kintoneアプリからデータを取得する ⚫ヘッダーに認証情報を入力してからリクエストを送る ©️2023 Cybozu Inc. ① ② ③

Slide 51

Slide 51 text

kintoneアプリからデータを取得する ⚫ レコード内の全てのレコードが 取得され(正確にいうと、100件 まで取得され)、Postmanのコ ンソール内に出力される ⚫ レコードはJSONという形で返 される(キーと値のペア) ©️2023 Cybozu Inc. ・ ・ ・ ・ ・ ・ ・ ・ ・

Slide 52

Slide 52 text

kintoneアプリからデータを取得する(クエリ付きで) ⚫ 同じリクエストにqueryパラメータを付けて、取得するレコードを絞り込む ©️2023 Cybozu Inc. クエリ記法は絞り込むフィールドによって異なる: - チェックボックスやドロップダウンの場合 query={フィールドコード} in (“{選択肢の値}”) - 文字列(1行)の場合 query={フィールドコード} = {“値”} - 日付の場合 query={フィールドコード} < TODAY() など ① ② ③ 自動で補完される クエリの内容で絞り込まれている、 新しいレスポンスが表示される

Slide 53

Slide 53 text

kintoneアプリにデータを登録する ⚫kintoneで作った漫画データベースにデータを登録する ©️2023 Cybozu Inc. ドキュメント: https://cybozu.dev/ja/kintone/docs/rest- api/records/add-record/ ドキュメントを読むと、下記が分かる: - HTTPメソッドは POST - エンドポイントURLが https://{サブドメイン 名}.cybozu.com/k/v1/record.json - appパラメータはリクエストには必須な情報 - recordパラメータは省略可だが、リクエスト に含めない場合何も情報が無いレコードが追 加されてしまう Postman 漫画データベース ② kintoneへのPOSTリクエスト 鳥山明が描いた『ドラゴンボール』 を追加したいです 追加出来ました

Slide 54

Slide 54 text

kintoneアプリにデータを追加してみよう ⚫メソッドとURLを設定する ⚫POSTリクエストのパラメータはここでは設定出来ず、後述す るBodyで設定する ©️2023 Cybozu Inc. ① ② ※URLがrecords.jsonではなく record.jsonであることに注意 このPOSTリクエストをPostmanで作成するさいに、新しいタブ開くか、 GETリクエストに使用したタブを編集してください

Slide 55

Slide 55 text

kintoneアプリにデータを追加してみよう ⚫ヘッダーに認証情報とContent-Typeを設定する ⚫Content-Typeはボディで送るデータの形式を指定する ©️2023 Cybozu Inc. ① ②

Slide 56

Slide 56 text

kintoneアプリにデータを追加してみよう ⚫ボディを指定する ⚫ボディには必要なパラメータをJSON形式で入力する ©️2023 Cybozu Inc. ① ② ③ ④ ⑤ ※JSONはシングルクォーテーションは使えず、 ダブルクォーテーションを使用する必要がある

Slide 57

Slide 57 text

kintoneアプリにデータを追加してみよう ©️2023 Cybozu Inc. ※最新情報はブラウザを更新すると見れる クリック レスポンスが表示される ⚫準備が出来たらリクエストを送る ⚫成功したらkintoneのレコード一覧に新しいデータが入る ① ②

Slide 58

Slide 58 text

6. プログラミング言語からの HTTPリクエスト ~概要~ ©️2023 Cybozu Inc.

Slide 59

Slide 59 text

プログラミング言語とHTTPリクエスト ⚫プログラミング言語からHTTPリクエストが送ることが出来る ⚫コンテストやハッカソンではPostmanではなく、プログラミング 言語からリクエストを送るようにしよう ⚫ほぼ全てのプログラミング言語は何かしらのライブラリやフレー ムワークを活用してHTTPリクエストが出来る ©️2023 Cybozu Inc. データをリクエスト データをレスポンス

Slide 60

Slide 60 text

Postmanもプログラミング言語でHTTPリクエストしている ⚫PostmanはElectronフレームワークで構成されている ⚫ElectronはJavaScript、HTML、CSSを使ってデスクトップ アプリが作成出来る。 ©️2023 Cybozu Inc. ⚫Node.jsを使って、 HTTPリクエストを実現 出来てる(のではないかと 思われる)

Slide 61

Slide 61 text

どんなWebサービスにでもHTTPリクエストは出来るの? ⚫Webサービスによる。 ⚫Webサービスが『REST API』を公開してないといけない ⚫REST APIを公開してるWebサービスはドキュメントも公開し てるので、そこからリクエストに必要なメソッド、URL、ヘッ ダーとパラメータを確認すること ©️2023 Cybozu Inc.

Slide 62

Slide 62 text

WebサービスへのHTTPリクエストの注意点 ⚫WebサービスのREST APIの利用限度を確認すること ⚫ 無制限にREST APIを使用して言いわけではない ⚫ 利用制限は時間がたてばリセットする仕様が多い ⚫短期間に大量のリクエストは控えよう ⚫ Webサービスにもよるが、大量のリクエストを短時間で送ると、『攻 撃されている』とみなされてしまう ⚫リクエストしてからレスポンスをもらうまで『時間がかかる』 ⚫ 体感的にはすぐにレスポンスが返ってくることもあるが、プログラミ ング言語によってはレスポンスが返ってくる前に次のコードの処理を してしまうことがある ⚫ 『同期処理』『非同期処理』を把握する必要がある ©️2023 Cybozu Inc.

Slide 63

Slide 63 text

同期処理と非同期処理の理解が大事 同期処理 ©️2023 Cybozu Inc. 非同期処理 ⚫ プログラムの実行が順次行われる ⚫ タスクが完了するまで次のタスクに 進まない ⚫ プログラムの実行が複数のタスクに 対して同時に行われる ⚫ タスクの完了を待たずに次のタスク に進む 席に座る ↓ メニューを手に取る ↓ 食事を選ぶ ホールを呼ぶ ↓ 食事を注文する ↓ スマホでアニメを見る ↓ ご飯を食べる → → 食事を運ぶ → 顧客 顧客 ホール シェフに オーダーを共有 今回案内するプログラムは『非同期処理』(時間の係る処理)を同期的に扱ってくれる内容です (ようは、レスポンスが返ってきてから次の処理にとりかかるようになっています)

Slide 64

Slide 64 text

HTTPリクエストをプログラミング言語で送ってみよう ⚫Python ©️2023 Cybozu Inc. ⚫Node.js ⚫Unity(C#) コマンドラインで pip install requests を実行して、HTTPリクエストに必要な requestsライブラリをインストールする コマンドラインで npm install axios を実行して、HTTPリクエストに必要な axiosライブラリをインストールする SimpleJSONファイルをダウンロードし、UnityプロジェクトのAssetsフォルダに配置する。 https://github.com/Bunny83/SimpleJSON/blob/master/SimpleJSON.cs Unity Asset Store からRest Client for Unityをダウンロードし、Unityのプロジェクトにインポートする。 https://assetstore.unity.com/packages/tools/network/rest-client-for-unity-102501 Python、 Node.js、Unityでの案内をします。それぞれ下準備が必要になります。

Slide 65

Slide 65 text

PythonからのHTTPリクエスト(GET) ©️2023 Cybozu Inc. リクエストに必要な URLとパラメータを設定。 自分の環境に合わせて変更すること。 ヘッダーに認証情報を追加。 自分のアプリから生成した APIトークンを設定すること ヘッダ-情報と合わせて、 パラメータ付きのURLに対して HTTPリクエストをする。 requestsは同期的な関数のため、 リクエストを送信してから レスポンスが返ってくるまで 次の行が実行されない

Slide 66

Slide 66 text

PythonからのHTTPリクエスト(POST) ©️2023 Cybozu Inc. リクエストに必要な URLとパラメータを設定。 自分の環境に合わせて変更すること。 ヘッダーに認証情報と Content-Typeを追加。 自分のアプリから生成した APIトークンを設定すること ヘッダ-情報と合わせて、 パラメータ付きのURLに対して HTTPリクエストをする。 requestsは同期的な関数のため、 リクエストを送信してから レスポンスが返ってくるまで 次の行が実行されない リクエストに含める レコードデータを JSONの形で作成

Slide 67

Slide 67 text

Node.jsからのHTTPリクエスト(GET) ©️2023 Cybozu Inc. リクエストに必要な URLとパラメータを設定。 自分の環境に合わせて変更すること。 ヘッダーに認証情報を追加。 自分のアプリから生成した APIトークンを設定すること await を宣言することによって、 axiosの非同期処理が 終わるまで次の行の処理は始まらない。 axiosは設定したURLに対して HTTPのGETリクエストをする。 Node v18.16.0で実行

Slide 68

Slide 68 text

Node.jsからのHTTPリクエスト(POST) ©️2023 Cybozu Inc. リクエストに必要な URLとパラメータを設定。 自分の環境に合わせて変更すること。 ヘッダーに認証情報と Content-Typeを追加。 自分のアプリから生成した APIトークンを設定すること await を宣言することによって、 axiosの非同期処理が 終わるまで次の行の処理は始まらない。 axiosは設定したURLに対して HTTPのPOSTリクエストをする。 ボディもリクエストに含まれている。 リクエストに含める レコードデータを JSONの形で作成 Node v18.16.0で実行

Slide 69

Slide 69 text

Unity(C#)からのHTTPリクエスト(GET) ©️2023 Cybozu Inc. Unity 2021.3.25f1で実行 HTTPリクエストの準備 成功時に処理される 失敗時に処理される ゲーム内のオブジェクトに コンポーネントとしてつけると、 ゲーム実行時に処理が始まる ※ Simple.JSON を使って JSONを扱いやすくしています ライブラリの仕様で、デフォルトの ContentTypeが application/jsonな ので、オプションでfalseに設定する 必要がある

Slide 70

Slide 70 text

Unity(C#)からのHTTPリクエスト(POST) ©️2023 Cybozu Inc. { "app":237, "record":{ "manga_title":{ "value":"ドラゴンボール" }, "manga_artist":{ "value":"鳥山明" } } } 右のような JSONを作成 HTTPリクエストの準備 成功時に処理される 失敗時に処理される Unity 2021.3.25f1で実行 ※ Simple.JSON を使って JSONを扱いやすくしています

Slide 71

Slide 71 text

6. プログラミング言語からの HTTPリクエスト ~ハンズオン~ ©️2023 Cybozu Inc.

Slide 72

Slide 72 text

好きなプログラミング言語からHTTPリクエストしてみよう ⚫各自好きな言語を選ぶ(紹介したものじゃなくても良い) ⚫新しくkintoneアプリを作成し、自分で選んだプログラミング 言語からHTTPリクエスしてみる ©️2023 Cybozu Inc.

Slide 73

Slide 73 text

環境が準備出来ないひとはGoogle Colaboratoryを使おう ⚫ Googleアカウントを所持してる人はGoogle ColaboratoryでPythonのコードが実行可能 ©️2023 Cybozu Inc. Google Colaboratory を検索して、サイトにアクセスする クリック コードの 記入エリア コード実行 コードの 結果を確認

Slide 74

Slide 74 text

7. コメント・まとめ - ふりかえり - ©️2023 Cybozu Inc.

Slide 75

Slide 75 text

まとめ ⚫kintone ⚫ データを貯めるデータベース ⚫ REST APIがあり、自分で作ったプログラムからデータのアクセスが出来る ⚫HTTPリクエスト ⚫ ウェブサービスへのデータの要求のこと。 ⚫ 要求する方法には色々とルールがある。 ⚫ 情報をURLパラメータやボディに含める必要がある ©️2023 Cybozu Inc. kintoneにデータを保管して、 独自アプリと連携して 何か作れるかも・・・!

Slide 76

Slide 76 text

おまけ ⚫kintone開発者ライセンス ⚫ メールアドレスで取得可能 ⚫ https://developer.cybozu.io/hc/ja/articles/200720464 ⚫ 公式ドキュメント(チュートリアルやAPI情報を確認できます) ⚫ https://cybozu.dev/ja/ ⚫kintoneのSDK ⚫ JavaScript Client (公式) ⚫ https://cybozu.dev/ja/kintone/sdk/rest-api-client/kintone-javascript-client/ ⚫ Java Client (公式) ⚫ https://cybozu.dev/ja/kintone/sdk/rest-api-client/kintone-java-client/ ⚫ Python ⚫ https://github.com/sada-nishio/kintone_sdk4python ⚫ Ruby ⚫ https://github.com/SonicGarden/kintone_rb ©️2023 Cybozu Inc.

Slide 77

Slide 77 text

Enjoy Programming! ©️2023 Cybozu Inc. ワークショプ、おつかれさまでした !