我在IIS 7上托管了一个使用Google Fit API进行Http调用的Web应用程序,我能够成功发送POST并检索访问令牌,然后我为以下uri执行GET:< / p>
以下是我如何构建请求并查看响应:
request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
request.ContentLength = 0;
request.Accept = "application/json";
request.Headers.Add("Authorization", "Bearer " + dict["access_token"]);
response = (HttpWebResponse)request.GetResponse();
respStream = response.GetResponseStream();
sResponse = new StreamReader(respStream).ReadToEnd();
respStream.Close();
Response.Write(sResponse);
当我在主机服务器上的浏览器上运行此应用程序时,我成功获得了一个json对象(它不是我期望的json,但这是另一个问题)。但是,当我尝试在远程客户端上访问该站点时,我在尝试检索响应时收到403错误。有什么想法吗?
答案 0 :(得分:0)
这可能取决于您获得access_token
值的方式。
您在检索访问令牌后多久才提出此请求?它仅在一小时内有效,因此您可能需要使用刷新令牌获取新的。
这个问题有更多关于访问/刷新令牌的资源:
答案 1 :(得分:0)
更新:结果是权限问题。我试图访问一个我没有范围的数据源,当它在主机上访问时它没有返回403这一事实让我离开了轨道。还奇怪的是,它在主机服务器上请求时没有返回403(它只是返回一个空的json对象)...如果你看到这个并知道原因,请随意发表评论。我很好奇。