在創建Azure上的通知中心 註冊我們希望授權令牌下面REST API如何生成的共享訪問簽名工具,在C#
的https:// {命名空間} .servicebus.windows.net/{} NotificationHub /註冊/?API版本= 2015-01
請參閱以下鏈接
https://msdn.microsoft.com/en-us/library/azure/dn223265.aspx
在創建Azure上的通知中心 註冊我們希望授權令牌下面REST API如何生成的共享訪問簽名工具,在C#
的https:// {命名空間} .servicebus.windows.net/{} NotificationHub /註冊/?API版本= 2015-01
請參閱以下鏈接
https://msdn.microsoft.com/en-us/library/azure/dn223265.aspx
//添加NuGet包
Install-Package Microsoft.Azure.NotificationHubs
using Microsoft.Azure.NotificationHubs;//Add namespace
string accessTokenstring = GetAccessToken();
private string GetAccessToken()
{
var hubName = "<Notification Hub>";
string connectionString = "Endpoint=sb://<Notification Hub Namespace>.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=<Key>";
var apiVersion = "?api-version=2015-01";
string endpoint = null;
string sasKeyValue = null;
string sasKeyName = null;
string targetUri = null;
var parts = connectionString.Split(';');
foreach (var part in parts)
{
if (part.IndexOf("Endpoint") == 0)
{
endpoint = "https" + part.Substring(11);
}
else if (part.IndexOf("SharedAccessKeyName") == 0)
{
sasKeyName = part.Substring(20);
}
else if (part.IndexOf("SharedAccessKey") == 0)
{
sasKeyValue = part.Substring(16);
}
}
targetUri = endpoint + hubName;
var registrationPath = targetUri + "/Registrations/";
var resourceUri = registrationPath + apiVersion;
TimeSpan sinceEpoch = DateTime.UtcNow - new DateTime(1970, 1, 1);
string accessTokenstring = SharedAccessSignatureTokenProvider.GetSharedAccessSignature(sasKeyName, sasKeyValue, resourceUri, sinceEpoch);
return accessTokenstring;
}
試圖關注直接發送(https://msdn.microsoft.com/en-us/library/mt608572.aspx)我面臨同樣的問題。
我能夠使用@ Sama的解決方案,只需將「註冊」更改爲「消息」即可。提供的解決方案使用.Net Core。
很高興聽到您解決了這個問題。您可以將自己標記爲可接受的答案,以幫助可能遇到類似問題的其他社區成員。 –
謝謝**布魯斯**,爲了獲得高於標記我花了10多小時,但最終我得到了解決方案。對不起,英文不好。 – Sama