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

OAuth ベアラートークンのログインを使用する Java クライアントの実行

EMP コネクタを使用して、OAuth 認証によってチャネルに登録する Java クライアントを実行します。

前提条件

Salesforce ユーザの OAuth ベアラーアクセストークンを入手します。このアクセストークンをコネクタの例で使用します。

「OAuth 2.0 での認証の設定」を参照してください。Salesforce ヘルプ「OAuth によるアプリケーションの認証」も参照してください。

OAuth ベアラートークンログインを使用する例を実行しましょう。
  1. GitHub から EMP コネクタプロジェクトを入手します。「プロジェクトをダウンロードして構築する」を参照してください。
  2. /src/main/java/com/salesforce/emp/connector/example フォルダで、BearerTokenExample.java Java ソースファイルを開きます。
    1/*
    2 * Copyright (c) 2016, salesforce.com, inc. All rights reserved. Licensed under the BSD 3-Clause license. For full
    3 * license text, see LICENSE.TXT file in the repo root or https://opensource.org/licenses/BSD-3-Clause
    4 */
    5package com.salesforce.emp.connector.example;
    6
    7import java.net.MalformedURLException;
    8import java.net.URL;
    9import java.util.Map;
    10import java.util.concurrent.TimeUnit;
    11import java.util.function.Consumer;
    12
    13import com.salesforce.emp.connector.BayeuxParameters;
    14import com.salesforce.emp.connector.EmpConnector;
    15import com.salesforce.emp.connector.TopicSubscription;
    16import org.cometd.bayeux.Channel;
    17
    18/**
    19 * An example of using the EMP connector using bearer tokens
    20 */
    21public class BearerTokenExample {
    22    public static void main(String[] argv) throws Exception {
    23        if (argv.length < 2 || argv.length > 4) {
    24            System.err.println("Usage: BearerTokenExample url token channel [replayFrom]");
    25            System.exit(1);
    26        }
    27        long replayFrom = EmpConnector.REPLAY_FROM_EARLIEST;
    28        if (argv.length == 4) {
    29            replayFrom = Long.parseLong(argv[3]);
    30        }
    31
    32        BayeuxParameters params = new BayeuxParameters() {
    33
    34            @Override
    35            public String bearerToken() {
    36                return argv[1];
    37            }
    38
    39            @Override
    40            public URL host() {
    41                try {
    42                    return new URL(argv[0]);
    43                } catch (MalformedURLException e) {
    44                    throw new IllegalArgumentException(String.format(
    45                        "Unable to create url: %s", argv[0]), e);
    46                }
    47            }
    48        };
    49
    50        Consumer<Map<String, Object>> consumer = event -> System.out.println(
    51            String.format("Received:\n%s", event));
    52        EmpConnector connector = new EmpConnector(params);
    53
    54        connector.addListener(Channel.META_CONNECT, new LoggingListener(true, true))
    55        .addListener(Channel.META_DISCONNECT, new LoggingListener(true, true))
    56        .addListener(Channel.META_HANDSHAKE, new LoggingListener(true, true));
    57
    58        connector.start().get(5, TimeUnit.SECONDS);
    59
    60        TopicSubscription subscription = connector.subscribe(
    61            argv[2], replayFrom, consumer).get(5, TimeUnit.SECONDS);
    62
    63        System.out.println(String.format("Subscribed: %s", subscription));
    64    }
    65}
  3. BearerTokenExample クラスを実行し、次の引数の値を指定します。
    引数
    username ログインユーザのユーザ名。
    password username (ログインユーザ) のパスワード。
    channel /u/notifications/ExampleUserChannel
    このサンプルでは、過去 24 時間以内で最も早く保存されたイベントを取得します。必要に応じて、異なるイベントを受信するために、最後の引数として再生 ID を含めることができます。有効な値は、次のとおりです。
    • –1 — 登録後に送信されたすべての新規イベントを取得します。
    • –2 — 登録後に送信されたすべての新規イベントおよび過去 24 時間以内のすべての過去のイベントを取得します。
    • 特定の番号 — 指定された再生 ID を持つイベントより後に発生したすべてのイベントを取得します。
  4. REST リソースを使用してこのクライアントアプリケーションを実行し、通知を生成すると、出力は次のようになります。
    1Subscribed: Subscription [/u/notifications/ExampleUserChannel:-2]
    2Received:
    3{payload=Broadcast message to all subscribers, event={createdDate=2016-12-13T00:57:36.020Z, replayId=1}}
    4Received:
    5{payload=Another message, event={createdDate=2016-12-13T00:58:16.591Z, replayId=2}}
次のステップでは、REST を使用して通知を生成する方法を学習します。