Google Fit Api 403远程客户端错误



我在IIS 7上托管了一个web应用程序,该应用程序使用Google Fit API进行Http调用,我能够成功发送POST并检索访问令牌,之后我为以下uri执行GET:

"https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.weight:com.google.android.apps.fitness:user_input/datasets/00-1427209862000000000"

以下是我如何构建请求并查看响应:

        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错误。有什么想法吗?

这可能取决于如何获得access_token值。

在检索访问令牌后,您要提出此请求多长时间?它的有效期仅为一个小时,因此您可能需要使用刷新令牌获取一个新的。

还有更多关于访问/刷新令牌的资源这个问题:

当Access_token执行时,Google OAuth2 Refresh_token过期

更新:这是一个权限问题。我试图访问一个我没有作用域的数据源,事实上,在主机上访问时,它没有返回403,这让我偏离了正轨。仍然奇怪的是,当在主机服务器上请求时,它没有返回403(它只是返回了一个空的json对象)。。。如果你看到了这个,并且知道为什么,请随时发表评论。我很好奇。

相关内容

  • 没有找到相关文章

最新更新