使用HttpClient的Windows Phone 8.1 Google Book REST Api调用:HRESULT:0x80072EFD

时间:2014-05-04 21:45:56

标签: c# windows-phone-8

我正在尝试编写一些需要获取有关图书信息的应用。这就是我使用Google Book Api的原因。官方图书馆没有在WP8.1上工作,所以我试图在互联网的帮助下自己做所有事情。这就是我写的:

 public async Task<RootObject> GetBooks(string query)
    {

        using (HttpClient httpClient = new HttpClient())
        {
            HttpResponseMessage response = new HttpResponseMessage();

            string requestUri = googleApiUri + "q=" + query.Replace(" ", "+") + "&maxResults=10&orderBy=relevance&printType=books&projection=lite";
            string jsonString = "";
            try
            {
                jsonString = await httpClient.GetStringAsync(new Uri(requestUri));
            }
            catch (Exception ex)
            {
                string message = "Error = " + ex.HResult.ToString("X") +
                "  Message: " + ex.Message;
            }

            return ResponseToJson(jsonString);

        }
    }

    private RootObject ResponseToJson(string message)
    {
        return JsonConvert.DeserializeObject<RootObject>(message);
    }

但是,调用httpClient.GetStringAsync会给我一个错误:&#34;来自HRESULT的异常:0x80072EFD&#34; 。我不知道为什么会发生这种情况,我无法在互联网上找到有关此类异常的任何内容。我是否在使用httpClient做错了什么?我会非常感谢你的帮助!

提前谢谢你!

BestRegards, 罗马

1 个答案:

答案 0 :(得分:0)

您的应用是否有足够的授权?通常,在项目的“属性”中有一个名为WMAppManifest.xml的文件。打开它,然后转到&#34;功能&#34;标签。确保选中ID_CAP_NETWORKING。这将为您的应用授予访问互联网的权限。