Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 8.1 Google Book REST Api调用与HttpClient:HRESULT:0x80072EFD_C#_Windows Phone 8 - Fatal编程技术网

C# Windows Phone 8.1 Google Book REST Api调用与HttpClient:HRESULT:0x80072EFD

C# Windows Phone 8.1 Google Book REST Api调用与HttpClient:HRESULT:0x80072EFD,c#,windows-phone-8,C#,Windows Phone 8,我正在尝试编写一些应用程序,需要获取有关书籍的信息。这就是为什么我使用GoogleBookAPI。官方图书馆没有在WP8.1上工作,所以我尝试在互联网的帮助下自己做每件事。这就是我写的: public async Task<RootObject> GetBooks(string query) { using (HttpClient httpClient = new HttpClient()) { HttpRespon

我正在尝试编写一些应用程序,需要获取有关书籍的信息。这就是为什么我使用GoogleBookAPI。官方图书馆没有在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);
    }
公共异步任务GetBooks(字符串查询)
{
使用(HttpClient HttpClient=new HttpClient())
{
HttpResponseMessage response=新的HttpResponseMessage();
string requestUri=googleApiUri+“q=“+query.Replace”(“,“+”)+”&maxResults=10&orderBy=relevance&printType=books&projection=lite”;
字符串jsonString=“”;
尝试
{
jsonString=await-httpClient.GetStringAsync(新Uri(requestUri));
}
捕获(例外情况除外)
{
string message=“Error=”+ex.HResult.ToString(“X”)+
“消息:”+例如消息;
}
返回ResponseToJson(jsonString);
}
}
私有RootObject ResponseToJson(字符串消息)
{
返回JsonConvert.DeserializeObject(消息);
}
但是,调用httpClient.GetStringAsync会引发错误:“来自HRESULT的异常:0x80072EFD”。我不知道为什么会发生这种情况,我在互联网上找不到任何关于这种例外的信息。我是不是做错了httpClient?我将非常感谢任何帮助

提前谢谢你

致以最良好的祝愿,
Roman

您是否已为您的应用程序发送足够的授权?通常,项目的属性中有一个名为WMAppManifest.xml的文件。打开它并转到“功能”选项卡。确保已检查ID\u CAP\u网络。这将授予您的应用程序访问Internet的权限。

感谢您的回复!但是,在WP8.1中,默认情况下会检查Internet功能。我不知道这是否重要,但我正在测试我的应用程序从一个测试类,它也有互联网能力检查。这是错误的WINHTTP不能连接,因为它得到的基本。检查url。这是我的第一个想法,但当我将url复制到浏览器中时,它工作得非常好,并返回我需要的json结果。什么浏览器?手机上的还是桌面上的?它需要在电话上工作。或模拟器。如果这一点不成立,那么您将被缺少的权限阻止。它在桌面浏览器和仿真器浏览器上都可以正常工作。至于权限,在WP8.1中检查了Internet功能,它看起来与WP8有些不同,但仍然是。“我不知道去哪里找。”罗曼·派利佩茨,你知道你有什么问题吗?我只是面临着完全相同的问题,无法解决它。。。