kintoneGeeks blog

kintoneに関連する情報を発信しています

【イベント報告】サイボウズがVRイベントでブースを初出展

はじめに

サイボウズはメタフェス2022で初のVRブース出展にチャレンジしてみました。おもしろIoT連携作品を展示したり、kintoneの同人誌が立ち読み出来るコーナーを設けたり、エンジニア向けのAPI体験キャンペーンを実施したりしました。

この記事は、API体験キャンペーンの答え合わせも含め、ブースでの取り組みや来場者の反応などを報告します!

メタフェスのバーチャルkintoneブース

メタフェスへの出展経緯

『サイボウズが何故VRブース出展を?』と思われてる方が多いかもしれません。このサイトを管理しているチームは、より多くのエンジニアにkintone API を認知して体験してもらうことをミッションとしています。

VR界隈にも多くのエンジニアが潜んでいます。仕事としてソフトウェアエンジニアをしていたり、VR作品作成のためにUnityをいじってたり、リアルとバーチャルを繋げるためにIoTに勤しんでいたり・・・そういったエンジニアにkintone API について知ってもらい、自身の活動にkintoneを利用してもらいたいため、我々はVRブース出展を通してエンジニアへの認知活動にチャレンジしてみました。

おーいイソ○~kintone APIしようぜ~

メタフェスとは

メタフェスとは株式会社ポリゴンテーラーコンサルティング主催の、VRChat*1上で開催されたバーチャル即売会です。様々なクリエイターが作成したVRのアバター、衣装、小物やワールドが展示され、夜は音楽祭が開催されたイベントです。2022年9月23日~25日の3日間に開催されました。

バーチャル即売会と音楽祭が開催されたメタフェスの会場

kintoneブース

今までサイボウズはMaker Faire、オープンソースカンファレンスや技術書典などの様々なリアルな環境でエンジニア向けのブースを出展しましたが、VRブース出展は今回初チャレンジでした!

主なターゲットはエンジニアでしたが、エンジニアではない一般ユーザにもブースで楽しんでもらいたいこともあり、ブースは筋斗雲にちなんで西遊記のテーマでデザインし、ゆるっとした可愛いモデルやパネルを設置しました。*2

ブースは『エンジニアにkintoneを知って興味を持ってもらう』というコンセプトで準備をしました。『作品展示エリア』、『フォトスポット』、『技術書コーナー』、『エンジニアゾーン』と楽しめるエリアをいくつか設けましたが、名前からのご想像の通り、ブースのほとんどがエンジニア向けのコンテンツで満載でした。

kintoneのIoT連携が紹介されている作品展示エリア

kintoneの雲の上に乗って写真が撮れるフォトスポット

kintoneの同人誌等が読める技術書コーナー

kintoneの技術情報満載のエンジニアゾーン

メタフェス期間中はサイボウズ社員がkintoneブースのスタッフ対応をしていました。VR上でのブース対応のために、スタッフは事前にVRChat上でトレーニングをしたので、準備はばっちり!*3

イベント期間中はスタッフが展示物への質問対応やギミックの案内等をしました。*4

kintoneブースのスタッフ対応をした社員のアバター

また、イベントを盛り上げるために、期間中にkintoneブースの写真をTwitterに投稿することで誰でも参加が出来るプレゼントキャンペーンを実施しました。

ブース内で写真を撮ることで応募出来る自撮りキャンペーン

ブースで準備された西遊記テーマのピックアップアイテムで自撮りするのも良し!

フレンドと一緒に筋斗雲に乗ってパシャリするのも良し!

素晴らしい写真の投稿をいっぱいアップして頂けました。自撮りキャンペーンに参加して下さったみなさま、写真の投稿をありがとうございました! *5

たくさんの人の協力のおかげで、メタフェスでkintoneらしい楽しいVRブースを披露することが出来ました。

API体験キャンペーンの答え合わせ

ブース内ではもう一つ、kintoneのREST APIの利用にチャレンジする、エンジニア向けのキャンペーンを準備してました。REST API を使うことによって、特定のkintone環境のアプリ(データベース)からキャンペーンコードを取得して、それを応募フォームに登録することで参加が出来るキャンペーンでした。果たして挑戦者は表れたのか・・・?

kintoneのREST APIを利用することで応募出来るAPI体験キャンペーン

キャンペーンのリンク先にアクセスすると、このような内容が記載されていました。

API体験キャンペーンに載っていたチャレンジの内容

キャンペーン期間が終わった今、せっかくなので答え合わせをしたいと思います。このチャレンジに挑戦するにはプログラミング言語は何を使っても良いのですが、この記事では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を絡めることも出来ます。興味がある方は、是非同人誌を読んでみてください。

kintone-labo.booth.pm

VRイベント出展をしてみて

初めてのVRイベントへの出展で、どういう反応が得られるかドキドキしていましたが、VRイベントはSNSでブースの感想が多く確認が出来るという魅力があることを知りました。

kintoneブースについても、取材マンガを書いて下さったリーチャ隊長だけでなく、いろいろな方がSNSに感想を投稿してくださいました。

kintoneのことを初めて知って頂けたり。

ブースでフレンドとわいわい楽しんで頂けたり。

技術情報やブースのこだわりまで気付いて頂けたり。

様々な来場者の反応はとても興味深い内容でした。SNS上で嬉しいコメントや写真を頂けたり、API体験キャンペーンの参加者も予想よりも多い30人以上にご参加いただけ、kintoneを知ってもらうという目標は達成できました!今後も機会があればVRイベントの出展にまたチャレンジしていきたいと思います。

*8

最後に

kintoneGeeks blog は多種多様なエンジニアにkintoneの情報を届ける活動をしています。今後の活動はkintone for GeeksいずもさとみちゃんのTwitterを通して是非フォローして下さい。

企画やコラボをご希望の方は、お問い合わせフォームからご連絡をください。

採用については採用ページから受け付けています。 page.cybozu.co.jp

Special Thanks!

今回のVRブース出展はVR界隈のユーザにサポートされて実現されたイベントです。特に下記の団体やユーザ達に感謝をします(順不同)

*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様 からツイートの掲載許可を頂いています