Workplace from Metaの提供は終了します。Workplaceは2025年8月31日まで今まで通りご利用いただけます。詳しくはヘルプセンターをご覧ください。
Workplaceシステム管理者は、アプリを作成して特定のアクセス許可を付与することにより、各統合に提供される機能を制御できます。各アプリには、そのアプリで利用可能なサービスを反映した名前を付けることができます。アプリには固有のアクセストークンとアクセス許可があり、それによってアプリが読み取り/書き込みを行える情報がコントロールされます。
このガイドでは、アプリとアクセス許可モデルについて詳しく説明します。
各Workplaceアプリに固有のアクセス許可のセットを付与することにより、グラフAPIおよびアカウント管理APIで使用できる機能のレベルをコントロールできます。
アプリを作成してアクセス許可を付与すると、そのアクセス許可はコミュニティ内のすべてのアカウントに適用されます。アカウント所有者は、アプリの機能を使用するために、アプリに追加のアクセス許可を付与する必要はありません。この点で、各ユーザーがログイン時にアプリに対して個別にアクセス許可を付与するFacebookのアクセス許可モデルとは異なります。
統合で使用できるアプリのアクセス許可の一覧と、その使用方法の概要を以下に示します。
アクセス許可 | 説明 |
---|---|
グループコンテンツの読み取り選択したグループの投稿とコメントを読み取ります。 read_group | このアクセス許可は、選択したグループのすべてのコンテンツを取得する統合を作成する際に使用します。 グループ内のボットとして機能する統合の場合は、代わりにメンションボットアクセス許可を使用します。 |
グループコンテンツの管理選択したグループの投稿とコメントを管理します。 write_group | このアクセス許可は、内部サービスから提供される週次レポートなどのコンテンツをグループに投稿する統合や、サービスステータス通知ボットを作成する際に使用します。 |
ユーザーのタイムラインの読み取りグループメンバーによる投稿をグループメンバーのタイムラインに表示します。 read_user_feed | このアクセス許可は、次のような統合を作成する際に使用します。
|
ユーザーのタイムラインの管理グループメンバーのタイムラインに投稿したりコメントを書き込んだりします。 write_user_feed | このアクセス許可を使用すると、統合を使用してグループメンバーのタイムラインへの投稿を作成したり編集したりすることが可能になります。 |
メンションボット投稿にメンションが付けられたら、投稿を確認してコメントに返信します。 bot_mention | このアクセス許可は、Workplaceグループ内のボットを作成するために使用します。 |
グループの管理選択したグループとそのメンバーを作成、編集、削除します。 manage_group | このアクセス許可は、組織図の構造やプロジェクトグループに基づいてグループを自動生成し、グループにメンバーを挿入する統合を作成する際に使用します。 このアクセス許可を付与された統合が特定のグループを対象にしている場合、新しいグループは作成できません。 |
アカウントの管理アカウント管理APIを使用して、アカウントのプロビジョニング、更新、停止を行います。 manage_accounts | このアクセス許可は、アイデンティティプロバイダー、Active Directoryの同期ツール、カスタムのアカウント管理APIクライアントなどのアカウントプロビジョニングサービスとの統合に使用します。 このアクセス許可を有効にすると、[この統合を使用して追加された人をその都度Workplaceに自動的に招待します]アクセス許可を有効にできます。 |
バッジの管理Workplaceコミュニティの参加者にバッジを授与します。 manage_badges | このアクセス許可を使用すると、統合によって次のことが可能になります。
|
ユーザーのメールアドレスの読み取りグループメンバーのメールアドレスを表示します。 read_user_email | このアクセス許可を使用すると、Workplaceユーザーのアカウントに関連付けられたメールアカウントを取得できます。 |
仕事用プロフィールの読み取りユーザーのディレクトリ情報への読み取り専用アクセス。 read_user_work_profile | ユーザーのdepartment、division、organization、primary_address、primary_phone、title、genderの取得をアプリに許可します。 |
組織図の読み取りユーザーの上司と部下を確認するための読み取り専用アクセス。 read_user_org_chart | ユーザーの上司と部下の取得をアプリに許可します。 |
メンバーとのメッセージのやり取りコミュニティのメンバーとの間でチャットメッセージの送受信を行います。 message | このアクセス許可は、ワークチャット内のボットを作成するために使用します。 |
すべてのメッセージの読み取りコミュニティのすべてのメンバーからのチャットメッセージを読み取ります。 read_all_messages | このアクセス許可を使用すると、Workplaceチャットの使用状況をモニタリングするコンプライアンス統合が可能になります。 |
チャットメッセージの削除delete_messages | このアクセス許可を使用すると、リテンションポリシーを実装する場合などに、アプリがユーザーのスレッドからチャットメッセージを削除できるようになります。 |
セキュリティログの読み取りログインの試行やパスワードリセットリクエストなど、セキュリティイベントの詳細にアクセスします。 receive_security_logs | このアクセス許可を使用すると、Workplaceチャットの使用状況をモニタリングするコンプライアンス統合が可能になります。 |
ログアウトすべてのアクティブなセッションからメンバーをログアウトさせます。 logout | このアクセス許可は、ユーザーをWorkplaceからログアウトさせるために使用します。 |
リンクプレビューの作成Workplaceで共有されているリンクの機能豊富なプレビュー。 link_unfurling | このアクセス許可を付与されたアプリは、Workplaceで共有されているリンクのアクセス認証プレビューを生成できます。 |
仕事用プロフィールの管理Workplace内の仕事用プロフィールの読み取りと更新を行います。 manage_profiles | このアクセス許可を付与されたアプリは、読み取りアクセス許可であるread_user_work_profileとread_user_org_chartを組み合わせて使用します。また、アカウント情報(名前、部署、部門、役職、組織、電話番号など)を更新することもできます。 |
ユーザーアカウントのプロビジョニングWorkplace内のアカウントをプロビジョニングします。 provision_accounts | このアクセス許可を付与されたアプリは、(未取得の) Workplaceアカウントのプロビジョニング、停止、削除を行うことができます。また、このアクセス許可により、active、email、name、hire_date、およびinvited memberフィールドを更新できます。 |
グループメンバーシップの読み取りグループのメンバーのリストと、ユーザーがメンバーになっているグループのリストを取得します。 list_group_members | このアクセス許可を付与されたアプリは、特定のグループのメンバーのリストをクエリできます。さらに、ユーザーがメンバーになっているグループのリストも取得できます。 |
情報ライブラリコンテンツの管理情報ライブラリ内の重要な会社情報を作成、編集、削除します。 manage_knowledge_library | このアクセス許可を付与されたアプリは、情報ライブラリ内のコンテンツを作成および変更できます。このアクセス許可を使用すると、統合によって次のことが可能になります。
|
情報ライブラリコンテンツの読み取り情報ライブラリ内の重要な会社情報を読み取ります。 read_knowledge_library | このアクセス許可を付与されたアプリは、情報ライブラリのコンテンツにアクセスできます。このアクセス許可を使用すると、統合によって次のことが可能になります。
|
社員データのエクスポート現在の社員のリストと社員のアクティビティデータをCSV形式でエクスポートします。 export_employee_data | このアクセス許可を付与されたアプリは、すべてのWorkplaceユーザーをリストしたCSVファイルを生成するデータエクスポートジョブをスケジュールできます。このCSVには、ユーザーに関するデータと、Workplace機能の最近の使用状況の情報も含まれます。 |
グループチャットボットボットがグループチャットでやり取りできるようにします。 bot_group_chat | このアクセス許可を付与されたアプリは、グループチャットのメンバーとやり取りできます。このアクセス許可を使用すると、複数の人のグループチャットを作成したり管理したりする統合が可能になります。 このアクセス許可は、 |
アンケートの管理アンケート構成の作成、更新、削除、読み取りを行います manage_surveys | このアクセス許可を付与されたアプリは、アンケート構成の作成、更新、削除、読み取りを行えます。 |
アンケートの読み取りアンケート構成を読み取り、アンケートに関するWebhook更新を受け取ります。 read_surveys | このアクセス許可を付与されたアプリは、アンケート構成を読み取り、アンケートに関連したWebhook更新を受け取ることができます。 |
アンケートの読み取りアンケート構成を読み取り、アンケートに関するWebhook更新を受け取ります。 read_surveys | このアクセス許可を付与されたアプリは、アンケート構成を読み取り、アンケートに関連したWebhook更新を受け取ることができます。 |
ユーザーセットの読み取りユーザーセットの読み取り read_people_sets | このアクセス許可を付与されたアプリは、ダイナミックユーザーセット構成を表示して、ユーザーセットに関連した更新をサブスクリプション登録できます。 |
ユーザーセットの管理ユーザーセットの管理 manage_people_sets | このアクセス許可を付与されたアプリは、Workplaceコミュニティのユーザーセットの作成、更新、削除を行えます。 |
重要な投稿の読み取り重要な投稿の読み取り read_important_posts | 統合が、現在アクティブなものも期限が切れたものも含め、重要な投稿プロモーションに関する情報を読み取れるようにします。 |
重要な投稿の管理重要な投稿の管理 manage_important_posts | 統合が、グループ投稿を重要なものとしてマークし、フィードのトップに表示されるようにし、重要な投稿プロモーションを期限前に停止できるようにします。 |
プロフィール情報を削除利用解除されたユーザーの個人情報を削除します。 remove_profile_information | 統合が、Workplaceの利用解除されたユーザーから、名前などのプロフィールフィールドやプロフィール画像を削除できるようにします。 |
一部のアクセス許可では、特定のグループに対してのみ統合を有効にすることができます。これにより、統合がアクセスする範囲を、公開したいコンテンツのみに限定できます。
例えば、アラートを投稿する統合がチーム独自のグループのみに投稿できるようにしたり、社員アプリ統合が特定の公開グループのコンテンツのみを読み取れるようにしたりすることができます。
カスタム統合のグループレベルのアクセス許可を指定するには、[統合を編集]ダイアログの[グループアクセス]パネルを使用します。
グループレベルのアクセス許可は、以下のアクセス許可に適用されます。
統合では、グループレベルのアクセス許可の適用方法を、[すべてのグループ]、システム管理者が選択した[特定のグループ]、[グループ管理者は管理するグループでオンにできます]のいずれかに設定できます。
[グループ管理者は管理するグループでオンにできます]を有効にすると、グループ管理者の[グループの管理]画面に新しい[統合]タブが表示され、自分のグループで統合を有効にできるようになります。
Workplace用の新しいアプリを作成すると、グラフAPI、アカウント管理API、Webhookで使用するアクセストークンが生成されます。
このアクセストークンは一度しか表示されないため、後ほどコードで使用できるように安全に保存しておくことが重要です。
Workplaceアプリのトークンは期限切れになることはなく、手動でリセットしない限り更新する必要はありません。特定のアプリで使用できるアクセス許可を編集しても、既存のトークンはそのまま機能し、新しいトークンの生成は不要です。
トークンを無効にする必要がある場合は、[アプリを編集]ダイアログの[アクセストークンをリセット]ボタンを使って、トークンをリセットできます。新しいトークンが生成されて表示され、既存のトークンは直ちに無効になります。
アクセストークンは強力です。アクセストークンによって、Workplace上の会社のデータへのアクセスが可能になります。アプリを作成する際は、統合機能を完成させるために必要なアクセス許可を最小限にすることを検討し、不要なアクセス許可を付与しないでください。
トークンを保存する際や、コードリポジトリにトークンを追加する際は、間違った相手と共有しないように細心の注意を払う必要があります。
本番用のアクセストークンは、公開されているコードリポジトリには絶対にコミットしないでください。
API認証情報は自分のサーバー環境のみに保存して使用し、それらの値がコピーされたり、モバイルアプリやウェブブラウザークライアントといった別の場所に送信されたりしないように注意する必要があります。
統合にセキュリティレイヤーを追加するには、IPホワイトリストを追加します。そうすることにより、トークンの使用をホワイトリストに登録されたIPアドレスのサーバーのみに制限することができます。
特定のアクセス許可を使用する呼び出しがカスタム統合によって30日間行われなかった場合、そのアクセス許可は削除されます。この処理がカスタム統合で一度行われると、この削除プロセスを停止するオプションが使用できるようになります。
有効なWebhookサブスクリプションが設定されている場合、この処理によって送信されたWebhookは、該当のアクセス許可の使用としてカウントされます。
Workplaceのアクセストークンは期限切れになりません。カスタム統合では、セキュリティレイヤーを追加するために、app secret証明が必要になる場合があります。[App Secret証明をオンにする]オプションを有効にすると、API呼び出しはサーバー側のコードからのみ行われるようになり、API呼び出しを行う際にはアクセストークンとともに有効期限付きのapp secret証明が必要になります。
有効期限付きのapp secret証明を生成するには、トークンとUNIXタイムスタンプをパイプ記号|
で区切って連結し、連結した文字列のSHA-256ハッシュを作成して、app secretをキーとして使用する必要があります。PHPの例を次に示します。
$appsecret_proof = hash_hmac('sha256', $access_token.'|'.time(), $app_secret);
オペレーティングシステムとプログラミング言語によっては、タイムスタンプが浮動小数点数型で返される場合があります。必ず整数値に変換してからapp secret証明を生成してください。また、プログラミング言語によっては、ハッシュがダイジェストオブジェクトとして作成されます。ハッシュは必ず16進数オブジェクトとして表現してください。
app secret証明を使用してAPI呼び出しを行うには、生成されたハッシュをappsecret_proof
パラメーターで渡します。その際、app secretをハッシュ化したときに使用したタイムスタンプに設定したappsecret_time
と、アクセストークンも一緒に渡します。
GET https://graph.facebook.com/v2.9/community/groups? &access_token={access-token} &appsecret_proof={appsecret_proof} &appsecret_time={appsecret_time}
タイムスタンプが設定されたapp secret証明は、5分経過すると期限切れと見なされます。そのため、グラフAPI呼び出しを行うたびに、インラインで新しい証明を生成することをおすすめします。
Postmanは、ウェブAPIを操作するツールとして広く使われています。Postmanを使うとWorkplace APIを簡単に処理できますが、$appsecret_proof
パラメーターを使用する場合は少々厄介です。この値は計算で求める必要があり、5分後に有効期限が切れます。したがって、リクエスト時にPostmanでこの値を生成できれば、処理が簡単になります。実際に、Postmanはリクエスト前スクリプトとパラメーターの機能を使用して、この処理を行うことができます。出発点として、次のスクリプトを使用できます。
// Add to Postman's Pre-request Script Tab var access_token = "replace-me"; var app_secret = "replace-me"; var time = (new Date().getTime()/1000|0); postman.setEnvironmentVariable("access_token", access_token) postman.setEnvironmentVariable("appsecret_time", time); postman.setEnvironmentVariable("appsecret_proof", CryptoJS.HmacSHA256(access_token + '|' + time, app_secret));