我正在尝试编写一个类,以使用UA API发送推送通知。我可以使用邮递员来完成此任务,而使用Bearer令牌而不是App Secret,但是通过代码(Java)进行操作时会遇到问题。我遵循了文档,这些文档很容易理解,唯一改变的是在cline中使用Bearer Token,而不是App Secret
client = UrbanAirshipClient.newBuilder()
.setKey(<App Token>)
.setBearerToken(<Bearer Token>)
.build();
PushPayload payload = PushPayload.newBuilder()
.setAudience(Selectors.iosChannel(“ios_channel”))
.setNotification(Notifications.alert(“Test Notification”))
.setDeviceTypes(DeviceTypeData.of(IOS))
.build();
PushRequest request = PushRequest.newRequest(payload);
Response<PushResponse> response = client.execute(request);
最后一行失败,并显示错误
optional.get() cannot be called on an absent value
被捕获,因为显然request.bearerTokenAuthRequired()返回false,导致它试图获取我尚未添加的秘密密钥。
我这里缺少什么吗?我似乎无法更改我的请求以强制其使用不记名令牌。不知道该怎么办。谢谢大家。
更新:
根据this,如果我正在使用自定义事件,则似乎只能使用不带密钥的承载令牌。这是真的吗?