gpt4 book ai didi

google-app-engine - 如何使用 REST API 从 Java/GAE 向 Azure 通知中心发送消息

转载 作者:行者123 更新时间:2023-12-04 18:08:31 24 4
gpt4 key购买 nike

我已成功实现调用 GAE -> Azure 移动服务 -> Azure 通知中心。

但我想跳过移动服务步骤并直接调用通知中心,但我不知道如何发送授权 token 。返回的错误是:

Returned response: <Error><Code>401</Code><Detail>MissingAudience: The provided token does not 
specify the 'Audience'..TrackingId:6a9a452d-c3bf-4fed-b0b0-975210f7a13c_G14,TimeStamp:11/26/2013 12:47:40 PM</Detail></Error>

这是我的代码:

    URL url = new URL("https://myapp-ns.servicebus.windows.net/myhubbie/messages/?api-version=2013-08");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(60000);
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
connection.setRequestProperty("Authorization","WRAP access_token=\"mytoken_taken_from_azure_portal=\"");
connection.setRequestProperty("ServiceBusNotification-Tags", tag);


byte[] notificationMessage = new byte[0];
try
{
notificationMessage = json.getBytes("UTF-8");
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
log.warning("Error encoding toast message to UTF8! Error=" + e.getMessage());
}

connection.setRequestProperty("Content-Length", String.valueOf(notificationMessage.length));
OutputStream ostream = connection.getOutputStream();
ostream.write(notificationMessage);
ostream.flush();
ostream.close();

int responseCode = connection.getResponseCode();

最佳答案

授权 header 必须包含为每个单独请求专门设计的 token 。您正在使用的数据是您必须用来生成此类 token 的 key 。

请按照以下说明操作:http://msdn.microsoft.com/en-us/library/dn495627.aspx为您的请求创建 token 。

最后一点,如果您使用 Java,则可以使用此公共(public)存储库 https://github.com/fsautomata/notificationhubs-rest-java 中的代码。它包含用于通知中心的功能齐全的 REST 包装器。它不是 Microsoft 官方的,但可以运行并实现上述规范。

关于google-app-engine - 如何使用 REST API 从 Java/GAE 向 Azure 通知中心发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20218845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com