IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > SalesforceにおけるiCalendarとは?iCalendarの特徴や主要なコードについて解説

SalesforceにおけるiCalendarとは?iCalendarの特徴や主要なコードについて解説

IT・技術関連 更新日:2024.09.05
エンジニア採用
SalesforceにおけるiCalendarとは?iCalendarの特徴や主要なコードについて解説

SalesforceにおけるiCalendarとは? 「iCalendar」とは、スケジュール情報を異なるアプリ間でも読み込ませることができるようにするためのフォーマットです。 また、このフォーマットというのはIETF(The Internet Engineering Task Force)という「インターネットに関わる技術の規定を決めている組織」が定めたもので、iCalendarは「RFC 5545」(旧版はRFC 2445)として、規定が記載されています。 昨今、様々なスケジュール管理アプリが存在していますが、このフォーマットに従ってスケジュール情報を出力することで、異なるアプリ間でも同じ内容のスケジュール情報を登録したり、移行したり、他者に共有することができます。 Salesforceでも同様に、このiCalendarの形式を用いてスケジュールデータの入出力ができるようになると、外部のスケジュールアプリとの連携が可能になります。

SalesforceにおけるiCalendarの特徴

スケジュール情報をiCalendar形式で出力した場合、次のような特徴を持ちます。 ・拡張子は「.ics」 ・ファイルの中身はプレーンテキスト(メモ帳などで開くことができ、ファイルの中身を確認できる) ・MIMEタイプが「text/calendar」 ・文字コードが「UTF-8」 ・改行コードは「CRLF(\r\n)」 iCalendar形式のファイルは上記のような特徴を持っているので、この特徴に当てはまったデータを見つけた際はiCalendar形式のファイルであると認識できるようにしましょう。 続いて、ファイルの中身について説明します。例えば、「2021年 2月10日 17:00~18:00 会議」といったスケジュールを「Google カレンダー」に登録していた場合、これをiCalendar形式でデータを出力すると、ファイルの中身は次のようになります。
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:sample@example.com
X-WR-TIMEZONE:Asia/Tokyo
BEGIN:VEVENT
DTSTART:20210210T170000Z
DTEND:20210210T180000Z
DTSTAMP:20210210T190000Z
UID:XXXXXXXXXXXXXXXXX@google.com
CREATED:20210210T150000Z
DESCRIPTION:
LAST-MODIFIED:20210210T160000Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:会議
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
このように、iCalendar形式で出力したファイルの中身は、スケジュール情報が特定のルールに基づいたコードとして記載されます。「BEGIN:VCALENDAR」から始まるのが特徴です。

主要なコードについての解説

iCalendarではデータ内に様々な項目が存在しますが、その中でもSalesforceでも扱う可能性のある、主要な部分を抜粋し説明します。各コードには下記のような意味があります。 VCALENDAR
BEGIN:VCALENDAR
・・・
END:VCALENDAR
iCalendar形式のファイルは必ず、文頭に「BEGIN:VCALENDAR」、文末に「END:VCALENDAR」と記載されます。iCalendar形式のデータの始まりと終わりを表し、この「BEGIN:VCALENDAR」から「END:VCALENDAR」間に詳細なスケジュール情報が含まれます。 PRODID
PRODID:-//企業名//製品名とバージョン//一意であることが保証されているテキスト
「PRODID:」に続く部分には、このiCalendar形式のデータ出力した企業名と製品の識別子が入ります。例えばGoogle カレンダーに登録したスケジュールをiCalendar形式で出力した場合は「PRODID:-//Google Inc//Google Calendar 70.9054//EN」といった内容になります。 VERSION
VERSION:バージョン数値
「VERSION:」に続く部分には、出力する際に使用されたiCalendarのバージョン数値が入ります。また、このiCalendar形式のファイルを読み込む際に「iCalendarのどのバージョンで解釈する必要があるか」をアプリ側が判別する指標にもなります。 CALSCALE
CALSCALE:GREGORIAN
「CALSCALE:」に続く部分には、どの暦法に基づいたスケジュールかを表す文字が入ります。グレゴリオ暦の場合は「GREGORIAN」と記載されます。また、指定しなかった場合でも、デフォルトでグレゴリオ暦と認識されます。 METHOD
METHOD:メソッド名
「METHOD:」に続く部分には、「RFC 2446」で定義されるメソッド名が入ります。iCalendar形式のデータをアプリ間でやり取りする際に、どのメソッドを用いるかここで判別します。 VEVENT
BEGIN:VEVENT
・・・
END:VEVENT
「BEGIN:VEVENT」から「END:VEVENT」間に1予定分の情報が含まれることを表します。例えば、スケジュールアプリに2件予定を登録していた場合、それをiCalendar形式で出力すると、このVEVENTで挟まれたデータのまとまりが2つできます。 DTSTART, DTEND
DTSTART:予定の開始日時
DTEND:予定の終了日時
「DTSTART」「DTEND」はVEVENT内に書かれる項目で、予定の「開始日時」と「終了日時」を表します。UTC時間形式で表記されます。 例えば「2021年2月10日 17:00~18:00」の予定であった場合は「DTSTART:20210210T170000Z」「DTEND:20210210T180000Z」となります。 また、祝日や記念日といった終日の予定は、下記のように表記されます。
DTSTART;VALUE=DATE:予定の開始年月日
DTEND;VALUE=DATE:予定の終了年月日
例えば「2021年3月1日~2021年3月31日」の予定であった場合は「DTSTART;VALUE=DATE:20210301」「DTEND;VALUE=DATE:20210331」となります。 その他にも「;TZID=Asia/Tokyo」という方式で、タイムゾーンを設定することもできます。 DTSTAMP
DTSTAMP:予定をiCalendarデータに変換した日時
「DTSTAMP」はVEVENT内に書かれる項目で、予定をiCalendar形式で出力した際の日時、または最終改変日時が表示されます。 UID
UID:予定を識別するID
「UID:」はVEVENT内に書かれる項目で、予定を識別するためのIDが記載されます。複数予定がある場合でも識別できるよう、ユニークな値である必要があります。 「RFC 5545」では、ユニークなIDの決め方として「予定の日時@IDを発行したホスト(アプリ)のドメイン名」を例として挙げています。 CREATED
CREATED:予定の作成日時
「CREATED:」はVEVENT内に書かれる項目で、予定が作成された日時を示します。UTC時間形式で表記されます。 DESCRIPTION
DESCRIPTION:予定の詳細
「DESCRIPTION:」はVEVENT内に書かれる項目で、予定の詳細がここに記載されます。詳細内で文字の改行を行う場合は「\n」と表記します。 LAST-MODIFIED
LAST-MODIFIED:予定の修正日時
「LAST-MODIFIED:」はVEVENT内に書かれる項目で、予定が修正された日時を示します。UTC時間形式で表記されます。 LOCATION
LOCATION:開催場所
「LOCATION:」はVEVENT内に書かれる項目で、予定の開催場所の情報を記載します。具体的な開催場所名や、URLを入れることも可能です。 SEQUENCE
SEQUENCE:0以上の数字
「SEQUENCE:」はVEVENT内に書かれる項目で、この予定の修正回数を表します。初回登録時は0が入り、登録者によって予定情報の改変が行われる度に数字が1ずつ加算されます。 STATUS
STATUS:TENTATICE, CONFIRMED, CANCELED など
「STATUS:」はVEVENT内に書かれる項目で、予定の状態を示します。状態は主に3種類存在し、「TENTATIVE:開催が仮状態の予定」「CONFIRMED:開催が確定した予定」「CANCELLED:キャンセルされた予定」を表します。 SUMMARY
SUMMARY:予定の概要やタイトル
「SUMMARY:」はVEVENT内に書かれる項目で、予定の概要やタイトルがここに記載されます。

その他のコード

その他にも、下記のような「X-」から始まるコードが含まれる場合があります。
X-WR-CALNAME:sample@example.com
X-WR-TIMEZONE:Asia/Tokyo
これはiCalendarの標準項目以外のコードになり、各アプリでiCalendarファイル内に独自の項目を持ちたい場合に「X-任意の名称」として記載されていることがあります。

SalesforceでiCalendarを活用しよう!

今回はSalesforceのカレンダーで主に使われる「iCalendar」について紹介しました。 外部アプリからスケジュールをSalesforceへ取り込む際や、スケジュールを扱うカスタムアプリケーションを作る場合は、iCalendar形式でデータの入出力ができるようになると、Salesforceの利便性が高まります。是非活用できるようにしましょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ