No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
もうひとこと: キャンバスアプリケーションでコンテキストを取得する
Force.com Canvas SDK には、アプリケーションや現在のユーザに関するコンテキスト情報を Salesforce から取得できるコールとオブジェクトが備えられています。
コンテキストの取得
署名付き要求を使用してキャンバスアプリケーションを認証すると、キャンバスアプリケーション URL への POST の一部として CanvasRequest オブジェクト (Context オブジェクトが含まれる) を取得します。認証に OAuth を使用する場合やコンテキスト情報を取得するためにコールする場��は、JavaScript コールを行います。この情報を使用して、後続のコールで情報を取得してアプリケーションコードを作成できるため、Salesforce1 ユーザインターフェースと完全に統合されているように見えます。
次のコードサンプルは、JavaScript コールでコンテキストを取得する例を示しています。このコードでは、テキストが「Get Context」のリンクを作成し、そのリンクから Sfdc.canvas.client.ctx 関数をコールします。
1swfobject.registerObject("clippy.codeblock-0", "9");<script>
2 function callback(msg) {
3 if (msg.status !== 200) {
4 alert("Error: " + msg.status);
5 return;
6 }
7 alert("Payload: ", msg.payload);
8 }
9
10 var ctxlink = Sfdc.canvas.byId("ctxlink");
11 var client = Sfdc.canvas.oauth.client();
12 ctxlink.onclick=function() {
13 Sfdc.canvas.client.ctx(callback, client)};
14 }
15</script>
16
17<a id="ctxlink" href="#">Get Context</a>
18コンテキストのオブジェクト
キャンバスアプリケーションでコールを行ってコンテキストを取得すると、応答で CanvasRequest オブジェクトが返されます。このオブジェクトには、アプリケーションとユーザに関するすべてのコンテキスト情報が含まれます。コンテキストのオブジェクトは、次のとおりです。
| オブジェクト | 説明 |
|---|---|
| CanvasRequest | Context オブジェクトと Client オブジェクトを返します。 |
| Client | クライアントアプリケーションに関するコンテキスト情報を返します。 |
| Context | キャンバスアプリケーションのコンシューマに関する情報を返します。Application、Environment、Links、Organization、User オブジェクトが含まれます。 |
| Application | バージョン、アクセス方法、URL などのキャンバスアプリケーションに関する情報を返します。 |
| Environment | 場所、UI テーマなどの環境に関する情報を返します。 |
| Links | メタデータ URL、ユーザ URL、Chatter グループ URL などのリンクを返します。これらのリンクを使用して、アプリケーションから Salesforce へのコールを行うことができます。 |
| Organization | 名前、ID、通貨コードなどの組織に関する情報を返します。 |
| User | ロケール、名前、ユーザ ID、メールアドレスなどの現在ログインしているユーザに関する情報を返します。 |
次のコードスニペットは、CanvasRequest オブジェクトの例を示しています。
コンテキストのオブジェクトおよび Force.com Canvas SDK についての詳細は、『Force.com Canvas 開発者ガイド』を参照してください。
1{
2 "context":
3 {
4 "application":
5 {
6 "applicationId":"06Px000000003ed",
7 "authType":"SIGNED_REQUEST",
8 "canvasUrl":"http://instance.salesforce.com:8080
9 /canvas_app_path/canvas_app.jsp",
10 "developerName":"my_java_app",
11 "name":"My Java App",
12 "namespace":"org_namespace",
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 {
44 "complex":
45 {
46 "key1":"value1",
47 "key2":"value2"
48 },
49 "integer":10,
50 "simple":"This is a simple string.",
51 "boolean":true
52 },
53 "dimensions":
54 {
55 "height": "900px",
56 "width": "800px",
57 "maxHeight":"2000px",
58 "maxWidth":"1000px",
59
60 "clientHeight":"80px",
61 "clientWidth":"968px"
62 },
63 "displayLocation":"Chatter",
64 "locationUrl": "http://www.salesforce.com
65 /some/path/index.html",
66 "uiTheme":"Theme3",
67 "record":{},
68 "version":
69 {
70 "api":"33.0",
71 "season":"SUMMER"
72 },
73 },
74 "organization":
75 {
76 "currencyIsoCode":"USD",
77 "multicurrencyEnabled":true,
78 "name":"Edge Communications",
79 "namespacePrefix":"org_namespace",
80 "organizationId":"00Dx00000001hxyEAA"
81 },
82 "links":
83 {
84 "chatterFeedItemsUrl":"/services/data/v33.0/
85 chatter/feed-items",
86 "chatterFeedsUrl":"/services/data/v33.0/
87 chatter/feeds",
88 "chatterGroupsUrl":"/services/data/v33.0/
89 chatter/groups",
90 "chatterUsersUrl":"/services/data/v33.0/
91 chatter/users",
92 "enterpriseUrl":"/services/Soap/c/33.0/
93 00Dx00000001hxy",
94 "loginUrl":"http://login.salesforce.com",
95 "metadataUrl":"/services/Soap/m/33.0/00Dx00000001hxy",
96 "partnerUrl":"/services/Soap/u/33.0/00Dx00000001hxy",
97 "queryUrl":"/services/data/v33.0/query/",
98 "recentItemsUrl":"/services/data/v33.0/recent/",
99 "restUrl":"/services/data/v33.0/",
100 "searchUrl":"/services/data/v33.0/search/",
101 "sobjectUrl":"/services/data/v33.0/sobjects/",
102 "userUrl":"/005x0000001SyyEAAS"
103 }
104 },
105 "client":
106 {
107 "instanceId":"06Px000000002JZ",
108 "instanceUrl":"http://instance.salesforce.com:
109 8080",
110 "oauthToken":"00Dx0000X00Or4J!ARQAKowP65p8FDHkvk.Uq5...",
111 "targetOrigin":"http://instance.salesforce.com:
112 8080"
113 },
114"algorithm":"HMACSHA256",
115"userId":"005x0000001SyyEAAS",
116"issuedAt":null
117}