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

Context

キャンバスアプリケーションを Salesforce で接続アプリケーションとして追加すると、Context オブジェクトを使用して現在の環境に関する情報を取得できます。Context オブジェクトには、アプリケーションが誰によってどのように使用されるかを示す情報が含まれます。この情報を使用して、後続のコールで情報を取得しアプリケーションコードを作成できるため、Salesforce ユーザインターフェースと完全に統合されているように見えます。このオブジェクトは JSON 形式で返され、次のオブジェクトが含まれます。
  • Application — バージョン、アクセス方法、URL などのキャンバスアプリケーションに関する情報。
  • Environment — 場所、UI テーマなどの環境に関する情報。
  • Links — メタデータ URL、ユーザ URL、Chatter グループ URL などのリンク。これらのリンクを使用して、アプリケーションから Salesforce へのコールを行うことができます。
  • Organization — 名前、ID、通貨コードなどの組織に関する情報。
  • User — ロケール、名前、ユーザ ID、メールなどの現在ログインしているユーザに関する情報。
次のコードに、Context オブジェクトの例を示します。Context オブジェクトは、署名付き要求を使用して認証した場合に CanvasRequest オブジェクトに返されます。また、このオブジェクトを取得するために明示的なコールを行うこともできます。
1"context":{ 
2    "application": 
3    {
4        "applicationId":"06Px000000003ed", 
5        "authType":"SIGNED_REQUEST", 
6        "canvasUrl":"http://instance.salesforce.com:8080
7            /canvas_app_path/canvas_app.jsp", 
8        "developerName":"my_java_app",
9        "isInstalledPersonalApp": false,
10        "name":"My Java App", 
11        "namespace":"org_namespace", 
12        "options":[],
13        "referenceId":"09HD00000000AUM", 
14        "samlInitiationMethod": "None",
15        "version":"1.0.0"
16    },
17    "user":
18    {
19        "accessibilityModeEnabled":false, 
20        "currencyISOCode":"USD", 
21        "email":"admin@6457617734813492.com", 
22        "firstName":"Sean", 
23        "fullName":"Sean Forbes", 
24        "isDefaultNetwork":false, 
25        "language":"en_US", 
26        "lastName":"Forbes", 
27        "locale":"en_US", 
28        "networkId":"0DBxx000000001r", 
29        "profileId":"00ex0000000jzpt", 
30        "profilePhotoUrl":"/profilephoto/005/F", 
31        "profileThumbnailUrl":"/profilephoto/005/T", 
32        "roleId":null, 
33        "siteUrl":"https://mydomain.force.com/", 
34        "siteUrlPrefix":"/mycommunity",
35        "timeZone":"America/Los_Angeles", 
36        "userId":"005x0000001SyyEAAS", 
37        "userName":"admin@6457617734813492.com", 
38        "userType":"STANDARD"
39    }, 
40    "environment":
41    {
42        "parameters":{}, 
43        "dimensions":
44        {
45            "clientHeight": "50px", 
46            "clientWidth": "70px", 
47            "height":"900px",
48            "width":"800px",
49            "maxHeight":"2000px",
50            "maxWidth":"1000px"
51
52        },
53        "record": 
54        {
55            "attributes": 
56            {
57                "type":"Account",
58                "url":"/services/data/v41.0/sobjects/Account/001xx000003DGWiAAO"
59            },
60            "Id":"001xx000003DGWiAAO",
61            "Phone":"(555) 555-5555",
62            "Fax":"(555) 555-5555",
63            "BillingCity":"Seattle"
64        },
65        "displayLocation":"Chatter",
66        "locationUrl":"http://instance.salesforce.com:8080/canvas_app_path",
67        "subLocation":null,
68        "uiTheme":"Theme3",
69        "version":
70        {
71            "api":"41.0",
72            "season":"SUMMER"
73         }
74     },
75    "organization":
76    {
77        "currencyIsoCode":"USD", 
78        "multicurrencyEnabled":true, 
79        "name":"Edge Communications", 
80        "namespacePrefix":"org_namespace", 
81        "organizationId":"00Dx00000001hxyEAA"
82    }, 
83    "links":
84    {
85        "chatterFeedItemsUrl":"/services/data/v41.0/chatter/feed-items", 
86        "chatterFeedsUrl":"/services/data/v41.0/chatter/feeds", 
87        "chatterGroupsUrl":"/services/data/v41.0/chatter/groups", 
88        "chatterUsersUrl":"/services/data/v41.0/chatter/users", 
89        "enterpriseUrl":"/services/Soap/c/41.0/00Dx00000001hxy", 
90        "loginUrl":"http://login.salesforce.com",
91        "metadataUrl":"/services/Soap/m/41.0/00Dx00000001hxy", 
92        "partnerUrl":"/services/Soap/u/41.0/00Dx00000001hxy", 
93        "queryUrl":"/services/data/v41.0/query/", 
94        "restUrl":"/services/data/v41.0/", 
95        "recentItemsUrl":"/services/data/v41.0/recent/", 
96        "searchUrl":"/services/data/v41.0/search/", 
97        "sobjectUrl":"/services/data/v41.0/sobjects/", 
98        "userUrl":"/005x0000001SyyEAAS" 
99    }
100}

コンテキストデータの不要な部分を除外するように Salesforce に要求できます。除外するデータの量を制御するには、独自の Canvas.CanvasLifecycleHandler を Apex で実装し、excludeContextTypes() の実装に除外するコンテキストセクションのリストを指定します。