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

ストリーミング API イベントの登録

次のコード例に、subscribe メソッドをコールして、キャンバスアプリケーションでストリーミング API イベントを登録できるようにする方法を示します。イベントを登録するには、キャンバスアプリケーションイベントの登録に使用する標準の sfdc.canvas.client.subscribe メソッドをコールします。subscribe メソッドをコールする場合、クライアントおよびストリーミング API イベントを渡す必要があります。ストリーミング API 通知を受信できるのは、開いており、イベントを登録したキャンバスアプリケーションのみです。

この例の onComplete メソッドは、コードでイベントが正常に登録された後で実行する関数を指定します。onData メソッドは、イベントでストリーミング API 通知を受信したときに実行する関数を指定します。

1swfobject.registerObject("clippy.codeblock-0", "9");// Subscribe to Streaming API events.
2// The PushTopic to subscribe to must be passed in.
3// The 'onComplete' method may be defined,
4// and will fire when the subscription is complete.
5Sfdc.canvas(function() {
6    sr = JSON.parse('<%=signedRequestJson%>');
7    var handler1 = function(){ console.log("onData done");},
8    handler2 = function(){ console.log("onComplete done");};
9    Sfdc.canvas.client.subscribe(sr.client,
10        {name : 'sfdc.streamingapi', params:{topic:"/topic/InvoiceStatements"}},
11         onData : handler1, onComplete : handler2}
12    );
13});
14

subscribe メソッドをコールすると、REST コールが行われ、ストリーミング API への接続に必要な OAuth 範囲がキャンバスアプリケーションに設定されていることが確認されます。このため、キャンバスアプリケーションでストリーミング API イベントを登録するたびに、1 つの API コールが使用され、組織の API 要求数の制限にカウントされます。ストリーミング API に接続するには、キャンバスアプリケーションに最低でも「データへのアクセスと管理 (API)」OAuth 範囲が必要です。

subscribe メソッドへのコールが成功した場合、ペイロード {success:true,handle:handle}onComplete メソッドがコールされます。handle は、登録先のストリーミング API チャネルの名前が含まれる配列で、subscriptionId は一意の ID が含まれる整数です。たとえば、["/topics/InvoiceStatements", subscriptionId] です。subscribe メソッドへのコールが失敗した場合、ペイロード {success:false,errorMessage:msg}onComplete メソッドがコールされます。msg は、エラーの原因が含まれる文字列です。

ストリーミング API 通知を受け取るには、PushTopic によって定義されたチャネルを作成する必要があります。詳細は、『Force.com ストリーミング API 開発者ガイド』の「ステップ 2: PushTopic を作成する」を参照してください。