この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

テンプレートのアクションリンクを定義し、フィード要素を使用して投稿する

ステップ 1: アクションリンクテンプレートを作成する

ラジオボタンと同様に、アクションリンクはグループ内にネストする必要があります。グループ内のアクションリンクは、グループのプロパティを共有し、相互に排他的です (クリックできるのは、グループ内の 1 つのアクションリンクのみです)。1 つのアクションリンクを定義する場合でも、アクションリンクグループに含める必要があります。アクションリンクテンプレートおよびアクションリンクグループテンプレートでも同様です。

この例では、アクションリンクグループ内の 1 つのアクションリンクを使用します。ユーザがこのアクションリンクをクリックすると、Connect REST API に対して HTTP POST 要求が実行され、フィード項目が Chatter に投稿されます。[HTTP リクエストボディ] 項目は、新しいフィード項目のテキストなど、[アクション URL] リソースのリクエストボディを保持します。この例では、新しいフィード項目にテキストしか含まれていませんが、添付ファイルやアンケートなどの他の機能やアクションリンクも含めることができます。

  1. [設定] から、[クイック検索] ボックスに「アクションリンクテンプレート」と入力し、[アクションリンクテンプレート] を選択します。
  2. 新しいアクションリンクグループテンプレートで次の値を使用します。
    項目
    名前 ドキュメントの例
    開発者名 Doc_Example
    カテゴリ プライマリアクション
    実行可 ユーザごとに 1 回
  3. 新しいアクションリンクテンプレートで次の値を使用します。
    項目
    アクションリンクグループテンプレート ドキュメントの例
    アクションの種類 Api
    アクション URL /services/data/{!Bindings.ApiVersion}/chatter/feed-elements
    ユーザ表示設定 全員に表示
    HTTP リクエストボディ {"subjectId": "{!Bindings.SubjectId}","feedElementType": "FeedItem","body": {"messageSegments": [{"type": "Text","text": "{!Bindings.Text}"}]}}
    HTTP のヘッダー Content-Type: application/json
    位置 0
    表示ラベルキー 投稿
    HTTP メソッド POST
  4. アクションリンクグループテンプレートに戻り、[公開済み] を選択します。[保存] をクリックします。

    アクションリンクグループテンプレート ID をメモし、ステップ 3 に進みます。

ステップ 2: アクションリンクグループテンプレート ID を取得する

[設定] でアクションリンクグループテンプレートへのアクセス権がある場合は、アクションリンググループテンプレート ID を取得してステップ 3 に進むことができます。

リソース
1/services/data/v33.0/query
HTTP メソッド
GET
要求のパラメータ
q — SOQL クエリ文字列。
要求パラメータの例
1GET /services/data/v50.0/query?q=SELECT+id+FROM+ActionLinkGroupTemplate+WHERE+DeveloperName='Doc_Example'
cURL の例
1curl https://instance_name/services/data/v50.0/query?q=SELECT+id+FROM+ActionLinkGroupTemplate+
2WHERE+DeveloperName='Doc_Example' -H "Authorization: Bearer token"
レスポンスボディ
クエリ結果レコードの配列。
1{
2   "totalSize":1,
3   "done":true,
4   "records":[
5      {
6         "attributes":{
7            "type":"ActionLinkGroupTemplate",
8            "url":"/services/data/v50.0/sobjects/ActionLinkGroupTemplate/07gD00000004CEhIAM"
9         },
10         "Id":"07gD00000004CEhIAM"
11      }
12   ]
13}

ステップ 3: アクションリンクグループをインスタンス化する

リソース
/connect/action-link-group-definitions
HTTP メソッド
POST
リクエストボディ
Action Link Group Definition Input

この Action Link Group Definition Input リクエストボディには templateBindings プロパティがあり、これは Action Link Template Binding Input リクエストボディのコレクションです。この例では、Action Link Template Binding Input リクエストボディに 3 つのテンプレートバインドがあります。

リクエストボディの例
1POST /services/data/v50.0/connect/action-link-group-definitions
2{
3     "templateId":"07gD00000004CEhIAM",
4     "templateBindings" : [
5        {
6           "key":"ApiVersion",
7           "value":"v33.0"
8        },
9        {
10           "key":"Text",
11           "value":"This post was created by an API Action Link!"
12        },
13        {
14           "key":"SubjectId",
15           "value":"me"
16        }
17     ]
18}
cURL を使用した要求の例
cURL を使用して要求を実行するには、次のように入力し、Developer Edition インスタンス名および OAuth 情報を置き換えます。
1curl -H "X-PrettyPrint: 1" -H "Content-Type: application/json" -d '{ "templateId":"07gD00000004CEhIAM", 
2"templateBindings" : [ { "key":"ApiVersion", "value":"v50.0" }, 
3{ "key":"Text", "value":"This post was created by an API Action Link!" }, { "key":"SubjectId", "value":"me" } ] }'
4 -X POST "https://instance_name/services/data/v50.0/connect/action-link-group-definitions"
5 -H 'Authorization: OAuth 00DRR0000000N0g!RWaPj94O6yOD.lfjB9LqMk' --insecure
レスポンスボディ
Action Link Group Definition

ステップ 4: アクションリンクグループをフィード要素に関連付けて投稿する

1 つのフィード要素には、最大 10 個のアクションリンクグループを関連付けられます。
リソース
/chatter/feed-elements
HTTP メソッド
POST
リクエストボディ
Feed Item Input

この Feed Item Input リクエストボディには body プロパティがあり、これは Message Body Input リクエストボディです。この例では、Message Body Input リクエストボディには messageSegments プロパティがあり、これに 1 つの Message Segment Input: Text リクエストボディがあります。

この Feed Item Input リクエストボディには capabilities プロパティもあり、これは Feed Element Capabilities Input リクエストボディです。この例では、Feed Element Capabilities Input リクエストボディには associatedActions プロパティがあり、これは Associated Actions Capability Input リクエストボディです。

リクエストボディの例

ステップ 3 の Action Link Group Definition レスポンスの id からアクションリンクグループ ID を取得します。

1POST /services/data/v50.0/chatter/feed-elements
2
3{
4  "body": {
5    "messageSegments": [
6      {
7        "type": "Text",
8        "text": "Click to post a feed item."
9       }
10    ]
11    },
12  "subjectId": "me",
13  "feedElementType": "feedItem",
14  "capabilities": {
15    "associatedActions": {
16      "actionLinkGroupIds": ["0AgRR0000004CTr0AM"]
17    }
18  }
19}
cURL を使用した要求の例
cURL を使用して要求を実行するには、次のように入力し、ステップ 2 で返されたアクションリンクグループ ID、Developer Edition インスタンス名、および OAuth 情報を置き換えます。
1curl -H "X-PrettyPrint: 1" -H "Content-Type: application/json" -d '{ "body": { "messageSegments": [ { "type": "Text", "text": "Click to post a feed item." } ] }, "subjectId": "me", "feedElementType": "feedItem", "capabilities": { "associatedActions": { "actionLinkGroupIds": ["0AgRR0000004CTr0AM"] } } }' -X POST "https://instance_name/services/data/v50.0/chatter/feed-elements" -H 'Authorization: OAuth OOARoAQETAKEIddnMWXh462dprYAgRWaPj94O6yOD' --insecure
レスポンスボディ
Feed Item