获取 AWS SNS 确认订阅令牌并将其作为参数传递给 API

Get AWS SNS confirm subscription token and pass it as a parameter to API

我正在尝试编写代码以在亚马逊简单通知服务中订阅一个主题的端点。 订阅后,确认邮件已发送到端点电子邮件 ID。

ConfigurationSet configurationSet = new ConfigurationSet().withName(configSetName);
CreateConfigurationSetRequest createConfigurationSetRequest = new CreateConfigurationSetRequest().withConfigurationSet(configurationSet);
amazonSES.createConfigurationSet(createConfigurationSetRequest);
CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName);
CreateTopicResult createTopicResult = amazonSNS.createTopic(createTopicRequest);
SubscribeRequest subscribeRequest = new SubscribeRequest(createTopicResult.getTopicArn(), "email", endPoint);
SubscribeResult subscribeResult = amazonSNS.subscribe(subscribeRequest);

确认订阅有两种方式 1. 转到邮件并单击 'Confirm subscription' 2. 像下面那样使用 ConfirmSubscription API

public void confirmSubscription(String token, String topicArn) {
     ConfirmSubscriptionRequest confirmSubscriptionRequest = new ConfirmSubscriptionRequest()
                .withTopicArn(topicArn)
                .withToken(token)
                .withAuthenticateOnUnsubscribe("ConfirmSubscriptionResult 
    ConfirmSubscriptionResult confirmSubscriptionResult = amazonSNS.confirmSubscription(confirmSubscriptionRequest);
}

在第二种方法中,我们需要一个令牌,当我们单击 'Confirm Subscription' link 时会生成令牌。 所以我需要让该令牌作为 confirmSubscription() 方法中的参数传递。 有什么办法吗? 我们可以设置在邮件中点击确认订阅时调用休息api吗? 请帮助我

因此,我检索令牌的方法是使用代码进入发送给订阅用户的电子邮件,并从 url link 中提取令牌。有点复杂,但它有效。