この文章は 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 を使用して通知を生成する方法を学習します。