Получить токен подтверждения подписки AWS SNS и передать его в качестве параметра в API

#java #amazon-sns #aws-java-sdk

#java #amazon-sns #aws-java-sdk

Вопрос:

Я пытался написать код для подписки на конечную точку раздела в Amazon simple notification service. После подписки на идентификатор электронной почты конечной точки было отправлено письмо с подтверждением.

 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. Зайдите в почту и нажмите «Подтвердить подписку»
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);
}
  

Во втором способе нам нужен токен, который генерируется, когда мы нажимаем ссылку «Подтвердить подписку».
Итак, мне нужно передать этот токен в качестве параметра в методе confirmSubscription().
Есть ли какой-либо способ для этого?
Можем ли мы настроить вызов rest api при нажатии кнопки подтвердить подписку по почте?
Пожалуйста, помогите мне

Ответ №1:

Итак, способ, которым я извлек токен, заключался в использовании кода для входа в электронное письмо, отправленное подписанному пользователю, и извлечения токена из URL-ссылки. Немного запутанно, но это сработало.