我正在尝试使用 OAuth 2.0 离线访问 Google API,在密切关注 Google 的文档之后,我现在不确定如何处理刷新令牌本身。我尝试使用从我的刷新令牌 POST 请求中获得的访问令牌和我的原始代码,但我现在收到 403 Forbidden 错误。
在此之前,我一直在每小时(手动)请求一个新的访问令牌以获取对 API 的访问权限,并且效果很好,但没有以任何方式使用刷新令牌。
收到刷新令牌后,是否需要在 GET 请求中连同我的新访问令牌一起发送其他数据才能获得访问权限?即使我有一个刷新令牌,我是否仍然需要每小时请求一个新的访问令牌?
这是我发送 GET 请求的代码,它适用于标准访问令牌:
string access_token = "my_access_token";
string uri = "https://www.googleapis.com/analytics/v3/data/ga1234567&max-results=50&access_token=" + access_token;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Headers["Authorization"] = "Bearer " + access_token;
request.Method = "GET";
var response = request.GetResponse();
var responseData = "";
HttpWebResponse res = (HttpWebResponse)request.GetResponse();
if (res.StatusCode == HttpStatusCode.OK){
Stream responseStream = res.GetResponseStream();
StreamReader myStreamReader = new StreamReader(responseStream);
responseData = myStreamReader.ReadToEnd();
}
res.Close();