알았어. 대답은 여기에서 찾을 수 있습니다 : https://developers.google.com/accounts/docs/OAuth2WebServer#offline
먼저 당신은
그런 다음 코드를 교환 할 필요가
<form method="POST" action="https://accounts.google.com/o/oauth2/auth">
<input type="hidden" name="scope" value="[YOUR SCOPE]"/>
<input type="hidden" name="client_id" value="[YOUR CLIENT ID]"/>
<input type="hidden" name="response_type" value="code"/>
<input type="hidden" name="redirect_uri" value="[YOUR RETURN URL]"/>
<input type="hidden" name="access_type" value="offline"/>
<input type="submit"/>
</form>
그런 다음 당신은 당신의 return_url에 '코드'를 얻을 것이다 인증 요청을 확인해야합니다 access_token은 당신이 같은 응답 내기 것이다 이것의 결과
<form method="POST" action="https://accounts.google.com/o/oauth2/token">
<input type="text" name="code" value="[CODE YOU GOT IN PREV STEP]"/>
<input type="hidden" name="client_id" value="[YOUR CLIENT ID]"/>
<input type="hidden" name="client_secret" value="YOUR CLIENT SECRET"/>
<input type="hidden" name="grant_type" value="authorization_code"/>
<input type="hidden" name="redirect_uri" value="YOUR REDIRECT URL"/>
<input type="submit"/>
</form>
을 refresh_token도합니다 :
{
"access_token" : "[HERE YOU ACCESS TOKEN]",
"token_type" : "Bearer",
"expires_in" : 3600,
"id_token" : "eyJhbGciOiJSUzI1NiIsImtpZCI6ImRiMjBlNWMwZGU1YWI0MGRjNTU5ODBkM2EzYmZlNDdlOGM2NGM5YjAifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiY2lkIjoiMjQ2ODg5NjU3NDg2LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXVkIjoiMjQ2ODg5NjU3NDg2LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwidG9rZW5faGFzaCI6IjRURGtlQ0MzVWRPZHoyd2k1N2RnaUEiLCJpZCI6IjExNTI0MDk1NDM0Njg1NTU4NjE2MSIsImlhdCI6MTM1MzQwNDQ3MCwiZXhwIjoxMzUzNDA4MzcwfQ.Va98sh9LvMEIWxpRMFkcuFqtDAUfJLN5M__oJyjvmIxQR9q2NUIoocyjqbNyXc7as_ePQYiUjajx0SCumtR4Zhv-exeJfrKA_uMmJTe7jWhK6K2R3JQ2-aIZNnehpEuhYZBXgLhzYz1mlFrLqQTdV6LjDhRPDH-ol4UKWXfbAVE",
"refresh_token" : "[HERE YOUR REFRESH TOKEN]"
}
지금 당신은 당신이 새로운 access_token이를 얻을 것이다 응용 프로그램에서 이러한 토큰을 저장하고 access_token은 매일 3600 초
<form method="POST" action="https://accounts.google.com/o/oauth2/token">
<input type="text" name="refresh_token" value="[YOUR REFRESH TOKEN]"/>
<input type="hidden" name="client_id" value="[YOUR CLIENT ID]"/>
<input type="hidden" name="client_secret" value="[YOUR CLIENT SECRET]"/>
<input type="hidden" name="grant_type" value="refresh_token"/>
<input type="submit"/>
</form>
그리고 당신이 요청을 할 때마다 새로 고침 시간 제한없이 사용할 수 있습니다
{
"access_token" : "[NEW ACCESS TOKEN]",
"token_type" : "Bearer",
"expires_in" : 3600,
"id_token" : "eyJhbGciOiJSUzI1NiIsImtpZCI6ImRiMjBlNWMwZGU1YWI0MGRjNTU5ODBkM2EzYmZlNDdlOGM2NGM5YjAifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiYXVkIjoiMjQ2ODg5NjU3NDg2LmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwidG9rZW5faGFzaCI6ImpyYk5oNkRHZFN4Y0w5MUI5Q1hab2ciLCJpZCI6IjExNTI0MDk1NDM0Njg1NTU4NjE2MSIsImNpZCI6IjI0Njg4OTY1NzQ4Ni5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbSIsImlhdCI6MTM1MzQwNTU5OSwiZXhwIjoxMzUzNDA5NDk5fQ.mGN3EYOX75gPubr3TqWIOBkfq-o3JBXMXx4MbxEBGMSuPdJi7VTqZa4isyR-st-J5_wTtA-j8tVQYnDeZDxj5KpJ14FFQPKTtv_VI5kvuT55KyOmGu4yidciYoffJMISisr8NqiksbemaiYX900sRv6PmoTA6Nf6VtHgj3BZjWo"
}
죄송합니다. 클라이언트 라이브러리를 발견했습니다. 어떤 언어를 사용하고 있습니까? –
죄송합니다. 나는 언급하지 않았다 ... 나는 C# (.NET)을 사용한다. – Anubis