OAuth 2.0 を使用して Google API へのオフライン アクセスを取得しようとしています。Google のドキュメントをよく読んだ後、更新トークン自体をどうすればよいかわかりません。リフレッシュ トークン POST リクエストから取得したアクセス トークンを元のコードで使用しようとしましたが、403 Forbidden エラーが発生します。
これ以前は、API にアクセスするために 1 時間ごとに (手動で) 新しいアクセス トークンを要求していましたが、これは正常に機能していましたが、更新トークンをまったく使用していませんでした。
更新トークンを受け取ったら、アクセスを取得するために GET 要求で新しいアクセス トークンと共に送信する必要があるデータは他にありますか? 更新トークンを持っていても、1 時間ごとに新しいアクセス トークンを要求する必要がありますか?
標準アクセス トークンで正常に動作する 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();