Google.GData.Client
.NET 라이브러리를 사용하고 OAuth
세션을 시작하려고하면 세션이 만료 될 때까지 제대로 작동합니다. 처음 GetAccessToken
을 입력하면 RefreshToken
값이 null
이라는 요청을하는 것 같습니다.GData OAuthUtil.GetAccessToken이 refresh_token 값을 반환하지 않습니다.
1 단계 (Default.aspx를)
OAuth2Parameters parameters = new OAuth2Parameters();
//<<build parameters with keys and CLIENT_IDs and such>>
string authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
Response.Redirect(authorizationUrl);
2 단계 (oauth.aspx)
Session["ACCESS_CODE"] = Request.QueryString["code"];
Response.Redirect("Results.aspx");
3 단계 (results.aspx)
if (Session["ACCESS_CODE"] == null)
Response.Redirect("Default.aspx");
parameters.AccessCode = Session["ACCESS_CODE"].To_String();
OAuthUtil.GetAccessToken(parameters);
Response.Write("OAuth Access Token: " + parameters.AccessToken);
Session["ACCESS_TOKEN"] = parameters.AccessToken;
Session["REFRESH_TOKEN"] = parameters.RefreshToken;
이 시점에서 코드를 검사 할 때 내 RefreshToken == null
. 이 때문에 나는 값의 오류가 null
될 수 없습니다받지 않고
OAuthUtil.RefreshAccessToken(parameters);
를 호출 할 수 없습니다.
그것이 내가 AuthToken을 처음 가지고있을 때 새로 고침 코드를 얻지 못하는 것 같았습니다. 정식 리디렉션시이를 검색해야합니까? – Lloyd
https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=ko에서 앱 액세스를 취소하고 다시 시도하십시오. 처음으로 새로 고침 토큰을 받아야합니다 ( –
). 내 DB에 저장된 값을 지우고 있었는데, 액세스를 허용 한 후 첫 번째 응답이 새로 고침 토큰을 반환합니다. 이제 DB에 저장하고 멋지게 윙윙니다. 감사! – Lloyd