尝试从Azure下载blob信息时出现授权错误

时间:2014-08-09 17:02:32

标签: c# azure .net-4.5 windows-phone-8.1 azure-storage-blobs

我有一个Windows商店应用程序我正在为Windows Phone 8.1构建一个精简版本,这些都是用C#开发的。我目前将一个小文本文件保存到blob,以便在设备之间同步数据。对于Windows商店应用程序,它完美地工作。我可以在Surface Pro,桌面和笔记本电脑之间同步。现在我将这个实现到我的手机应用程序中,但是我收到授权错误

{Microsoft.WindowsAzure.Storage.StorageException:服务器无法验证请求。确保正确形成Authorization标头的值,包括签名。    在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.d__6`1.MoveNext() 请求信息 请求ID:2ee5de0a-0f2c-477f-92df-ba52cce3b6c0 RequestDate:星期二,05八月2014 20:11:25 GMT StatusMessage:服务器无法验证请求。确保正确形成Authorization标头的值,包括签名。 }。

我知道通常的解决方法是检查工作站时间,所以我尝试将手机时间设置为UTC,不同的时区等等。这些都没有用。它变得令人沮丧,因为除了电话应用程序之外,它在任何地方都能正常运行

以下是我正在使用的代码:

StorageCredentials credentials = new StorageCredentials("<AccountName>", "<AccountKey>");

var account = new CloudStorageAccount(credentials, true);

var blobClient = account.CreateCloudBlobClient();

CloudBlobContainer container = blobClient.GetContainerReference("synccontainer");
var blockBlob = container.GetBlockBlobReference("MyBlob");

****Everything prior to here executes correctly, everything below will throw the error****

bool blockBlobExists = await container.GetBlockBlobReference("MyBlob").ExistsAsync();
await blockBlob.FetchAttributesAsync();
var bbProperties = blockBlob.Properties;

0 个答案:

没有答案