はじめに
サイボウズはメタフェス2022で初のVRブース出展にチャレンジしてみました。おもしろIoT連携作品を展示したり、kintoneの同人誌が立ち読み出来るコーナーを設けたり、エンジニア向けのAPI体験キャンペーンを実施したりしました。
この記事は、API体験キャンペーンの答え合わせも含め、ブースでの取り組みや来場者の反応などを報告します!
メタフェスへの出展経緯
『サイボウズが何故VRブース出展を?』と思われてる方が多いかもしれません。このサイトを管理しているチームは、より多くのエンジニアにkintone API を認知して体験してもらうことをミッションとしています。
VR界隈にも多くのエンジニアが潜んでいます。仕事としてソフトウェアエンジニアをしていたり、VR作品作成のためにUnityをいじってたり、リアルとバーチャルを繋げるためにIoTに勤しんでいたり・・・そういったエンジニアにkintone API について知ってもらい、自身の活動にkintoneを利用してもらいたいため、我々はVRブース出展を通してエンジニアへの認知活動にチャレンジしてみました。
メタフェスとは
メタフェスとは株式会社ポリゴンテーラーコンサルティング主催の、VRChat*1上で開催されたバーチャル即売会です。様々なクリエイターが作成したVRのアバター、衣装、小物やワールドが展示され、夜は音楽祭が開催されたイベントです。2022年9月23日~25日の3日間に開催されました。
kintoneブース
今までサイボウズはMaker Faire、オープンソースカンファレンスや技術書典などの様々なリアルな環境でエンジニア向けのブースを出展しましたが、VRブース出展は今回初チャレンジでした!
主なターゲットはエンジニアでしたが、エンジニアではない一般ユーザにもブースで楽しんでもらいたいこともあり、ブースは筋斗雲にちなんで西遊記のテーマでデザインし、ゆるっとした可愛いモデルやパネルを設置しました。*2
ブースは『エンジニアにkintoneを知って興味を持ってもらう』というコンセプトで準備をしました。『作品展示エリア』、『フォトスポット』、『技術書コーナー』、『エンジニアゾーン』と楽しめるエリアをいくつか設けましたが、名前からのご想像の通り、ブースのほとんどがエンジニア向けのコンテンツで満載でした。
メタフェス期間中はサイボウズ社員がkintoneブースのスタッフ対応をしていました。VR上でのブース対応のために、スタッフは事前にVRChat上でトレーニングをしたので、準備はばっちり!*3
イベント期間中はスタッフが展示物への質問対応やギミックの案内等をしました。*4
また、イベントを盛り上げるために、期間中にkintoneブースの写真をTwitterに投稿することで誰でも参加が出来るプレゼントキャンペーンを実施しました。
ブースで準備された西遊記テーマのピックアップアイテムで自撮りするのも良し!
kintoneに乗るkintoto#METAFES #kintone pic.twitter.com/Vcbs3UnDIs
— きんとと (@goldenpenguin3) 2022年9月24日
フレンドと一緒に筋斗雲に乗ってパシャリするのも良し!
#METAFES #kintone
— ことね (@to30220) 2022年9月26日
みんなでぱしゃり! pic.twitter.com/seqLkYQXFj
素晴らしい写真の投稿をいっぱいアップして頂けました。自撮りキャンペーンに参加して下さったみなさま、写真の投稿をありがとうございました! *5
たくさんの人の協力のおかげで、メタフェスでkintoneらしい楽しいVRブースを披露することが出来ました。
API体験キャンペーンの答え合わせ
ブース内ではもう一つ、kintoneのREST APIの利用にチャレンジする、エンジニア向けのキャンペーンを準備してました。REST API を使うことによって、特定のkintone環境のアプリ(データベース)からキャンペーンコードを取得して、それを応募フォームに登録することで参加が出来るキャンペーンでした。果たして挑戦者は表れたのか・・・?
キャンペーンのリンク先にアクセスすると、このような内容が記載されていました。
キャンペーン期間が終わった今、せっかくなので答え合わせをしたいと思います。このチャレンジに挑戦するにはプログラミング言語は何を使っても良いのですが、この記事ではPythonで説明させて頂きます。なお、Pythonのインストール手順については省きます。
まず、kintoneのREST APIを使うためにはHTTPリクエストを処理出来るライブラリが必要です。コマンドライン経由でrequestsライブラリをインストールします。
pip install requests
次にpythonコードの準備をします。
テキストエディタを開き、GetCampaignCode.py
と名付けます。冒頭で、先程インストールしたrequestsのライブラリをimportします。
import requests
リンク先に記載されていたドメイン、APIトークン、アプリIDとレコード番号をそれぞれ変数に格納します。*6
DOMAIN = "kintone-geeks.cybozu.com" API_TOKEN = "iPnyypHsK5LV3ftU0wIpfcN6632aCexK5DbdA7Tt" APP_ID = "5" RECORD_ID = "3"
リクエスト先のエンドポイントを決めます。チャレンジの中でレコードの取得APIのドキュメントのリンクが案内されていました。こちらは内容を良く読むと、リクエスト先のURIがhttps://(サブドメイン名).cybozu.com/k/v1/record.json
であることがわかります。先程のドメイン情報を利用して、エンドポイントのURIを作成します。
ENDPOINT = "https://" + DOMAIN + "/k/v1/record.json"
ドキュメントを読み続けると、エンドポイントにパラメータを付与することによって『どのアプリ』の『どのレコード』の情報を取得するかを決められることが分かります。?
と&
を利用して、パラメータ付きのエンドポイントURIを作成します。
ENDPOINT_WITH_PARAMS = ENDPOINT + "?app=" + APP_ID + "&id=3"
最終的なエンドポイントはhttps://kintone-geeks.cybozu.com/k/v1/record.json?app=5&id=3
になります。もちろん、わざわざ上記のようにバラバラにした情報を順番に繋げていく処理をしなくても、最初からこのエンドポイントを変数に格納してもOKです。
次に、HTTPリクエストを利用する準備をします。リクエストのヘッダーには認証情報を乗せる必要があります。認証についてのドキュメントを確認しますと、ヘッダーにX-Cybozu-API-Token
とAPIトークンの情報を付与することが分かります。
HEADERS = {"X-Cybozu-API-Token":API_TOKEN}
最後に、requests
メソッドを利用してGETリクエストの処理をします。これは簡単にいうと、『特定のエンドポイントから、特定の情報を取ってくるメソッド』です。引数にパラメータ付きのURIとヘッダー情報を入れてGETリクエスト処理をします。レスポンスが帰ってくるので、それを文字列としてコマンドラインに出力します。
response = requests.get(ENDPOINT_WITH_PARAMS, headers=HEADERS)
print(response.text)
これでPythonのコードが準備出来ました。 全体のコードは次の通りです。
import requests DOMAIN = "kintone-geeks.cybozu.com" API_TOKEN = "iPnyypHsK5LV3ftU0wIpfcN6632aCexK5DbdA7Tt" APP_ID = "5" RECORD_ID = "3" ENDPOINT = "https://" + DOMAIN + "/k/v1/record.json" ENDPOINT_WITH_PARAMS = ENDPOINT + "?app=" + APP_ID + "&id=3" HEADERS = {"X-Cybozu-API-Token":API_TOKEN} response= requests.get(ENDPOINT_WITH_PARAMS, headers=HEADERS) print(response.text)
GetCampaignCode.py
としてコードを保存し、コマンドラインでこのコードを実行してみましょう。
python GetCampaignCode.py
kintoneのアプリから取得されたデータが、レスポンスとしてコマンドラインに出力されます。
{"record":{"キャンペーンコード":{"type":"SINGLE_LINE_TEXT","value":"こちらのレコードのフィールドに当たりが入ってます!キャンペーンコードは次の通り:『metafes_kintone_campaign_2022』"},"レコード番号":{"type":"RECORD_NUMBER","value":"3"},"更新者":{"type":"MODIFIER","value":{"code":"geek@cybozu.com","name":"Developer Pioneer"}},"作成者":{"type":"CREATOR","value":{"code":"geek@cybozu.com","name":"Developer Pioneer"}},"$revision":{"type":"__REVISION__","value":"3"},"更新日時":{"type":"UPDATED_TIME","value":"2022-09-22T08:00:00Z"},"作成日時":{"type":"CREATED_TIME","value":"2022-09-09T07:10:00Z"},"$id":{"type":"__ID__","value":"3"}}}
こちらは指定したkintone環境のアプリID『5』、レコードID『3』の中に入ってる全ての情報です。多くの情報が入っていますが、この中にキャンペーンコードの情報が入っています。
{"キャンペーンコード":{"type":"SINGLE_LINE_TEXT","value":"こちらのレコードのフィールドに当たりが入ってます!キャンペーンコードは次の通り:『metafes_kintone_campaign_2022』"}
ということで、キャンペンコードは『metafes_kintone_campaign_2022』でした!見事に当てた応募者が数十名もいて、とても嬉しかったです!
ちなみにこちらのpythonを利用したkintoneへのリクエストは、OSC*7というプロトコルを使うことにより、VRChatを絡めることも出来ます。興味がある方は、是非同人誌を読んでみてください。
VRイベント出展をしてみて
初めてのVRイベントへの出展で、どういう反応が得られるかドキドキしていましたが、VRイベントはSNSでブースの感想が多く確認が出来るという魅力があることを知りました。
kintoneブースについても、取材マンガを書いて下さったリーチャ隊長だけでなく、いろいろな方がSNSに感想を投稿してくださいました。
キント~ン!(呼びかけ)あのサイボウズがメタフェスに企業出展!ボクは緊張しながら取材に行ったわけですが、そこにはなんか楽しくて優しい世界が広がっていた…!OSCとの連携などにも使えるkintoneはVRChatter的にも必見!!#VRC漫画 #VRChat #METAFES #サイボウズ #PR pic.twitter.com/QgUkOliLQM
— リーチャ隊長🌱 (@rietzscha) 2022年9月19日
kintoneのことを初めて知って頂けたり。
今週末限定のメタフェス行ってきた!
— 藤堂ゆづ (@ariawisteria) 2022年9月23日
kintoneさんのことを今回初めて知りましたがいろいろできそう。
そしてタコさんがぷるぷるしててめっちゃかわいかった(*´ω`*)
#METAFES #kintone pic.twitter.com/ggfNwANLeQ
ブースでフレンドとわいわい楽しんで頂けたり。
昨日はフレンドさん方とメタフェス見てきました〜!
— ruimi 〘るいみ〙 (@ruimi244) 2022年9月24日
色々可愛いアバターやアクセサリーを見られて楽しかったです(*´ᵕ`*)✨ pic.twitter.com/vo6lRdLzqH
技術情報やブースのこだわりまで気付いて頂けたり。
メタフェスDAYの玄関にあるkintoneさんのブース、一体どんな展示なんだろうと見てたら、社で出してる技術やVRChatOSCとの連携、面白な活動まで色々あって普通の企業PRでなくしっかり"遊び"が見えて楽しかった~#METAFES #kintone pic.twitter.com/hzxrfzZQfy
— 鯰田NMZ_VRC🎶🎒 (@VR_NMZW) 2022年9月25日
様々な来場者の反応はとても興味深い内容でした。SNS上で嬉しいコメントや写真を頂けたり、API体験キャンペーンの参加者も予想よりも多い30人以上にご参加いただけ、kintoneを知ってもらうという目標は達成できました!今後も機会があればVRイベントの出展にまたチャレンジしていきたいと思います。
最後に
kintoneGeeks blog は多種多様なエンジニアにkintoneの情報を届ける活動をしています。今後の活動はkintone for GeeksやいずもさとみちゃんのTwitterを通して是非フォローして下さい。
企画やコラボをご希望の方は、お問い合わせフォームからご連絡をください。
採用については採用ページから受け付けています。 page.cybozu.co.jp
Special Thanks!
今回のVRブース出展はVR界隈のユーザにサポートされて実現されたイベントです。特に下記の団体やユーザ達に感謝をします(順不同)
- イベントの運営会社の株式会社ポリゴンテーラーコンサルティングの皆様
- プレゼントキャンペーンにご協力頂きました株式会社アストネス様
- VR kintoneブースの作成者のどっこい様
- VR kintoneブースのレポート漫画を作成したリーチャ隊長様
- 自撮りキャンペーンやAPI体験キャンペーンに参加して下さった皆様
- ブースの感想をSNS上に書いて下さったり、配信して下さった皆様
- ブースに来て下さったVRChatterの皆様
*1:VR空間内で多人数でコミュニケーションが出来るVRSNS
*2:良く勘違いされますが、ブースのメインキャラとなっているタコウィンナーは筆者の自作アバターが元ネタとなっており、kintoneに関連するキャラクターではありません🐙
*3:基本的なVRChatの操作方法、メニューの理解、写真の撮り方、トラストレベル上げ、そして何よりもVR酔いの対策
*4:うさみみ店様のクマぐるみ、zuchicorn shop様のinuinu いぬいぬ、 tadapan様の一般的なパンダを利用させていただきました
*5:@goldenpenguin3 様、@to30220 様 からツイートの掲載許可を頂いています
*6:現在はもう、このAPIトークンで情報が取得出来ないように設定させて頂いています
*7:おすし
*8:@rietzscha 様、@ariawisteria 様、@ruimi244 様、@VR_NMZW様 からツイートの掲載許可を頂いています