2016-10-21 3 views
0

Google 계정을 사용하여 인증 할 수있는 서비스가 있습니다. 해당 서비스의 워크 플로를 자동화해야하므로 내 소프트웨어가 주어진 Google 계정으로 로그인해야합니다. 하지만 어디서부터 시작해야할지 모르겠다. 대부분의 관련 답변은 사용자에게 Google 계정의 로그인/비밀번호를 입력하도록 허용 페이지를 표시하는 것이 좋습니다. 그러나 소프트웨어가 완전히 자동화되어야하고 터미널 모드로 실행되므로 브라우저가 없기 때문에 그렇지 않습니다. 무엇이든 입력하는 인간은 포함되어야한다.Google+ 계정으로 프로그래밍 방식으로 로그인

그런 자동화가 가능하고 어디서부터 시작해야하는지 궁금합니다.

+0

가능한 중복 http://stackoverflow.com/q/13317987/121660 – captncraig

+0

그 대답은 [OAuth는 흐름]을 수행하는 간단한 웹 서버를 만드는 제안 (https : //로 developers.google.com/+/web/api/rest/oauth)을 새로 고칩니다. 그런 다음 명령 줄 앱에 새로 고침 토큰을 제공하여 유효한 액세스 토큰을 교환 할 수 있습니다. 어떤 종류의 달리기가 있지만 거기에 있습니다. – captncraig

+0

@captncraig 미안하지만 나는 네가 여기 있다고 생각하지 않는다. 예, 질문은 유사하지만 웹 서버를 실행하고 사용자에게 항상 비밀번호를 입력하도록 요청하는 것 이외의 답을 찾지 못합니다. – Gonzalez

답변

0

Google에서 사용자를 인증하는 표준 방법은 브라우저에서 인증 흐름 (oauth)을 사용하는 것입니다. 당신은 oauth2 또는보다 포괄적 인 패키지 goth

같은 일반적인 흐름은과를 사용하여 이동이 작업을 수행 할 수 있습니다

  1. 리디렉션 사용자를 그들은 당신이 액세스 권한을 부여 할 것인지 묻는 메시지가 구글의 사이트에 방문 페이지로.
  2. Google은 특수 코드를 사용하여 사이트에 콜백을합니다.
  3. 액세스 토큰과 새로 고침 토큰에 대해 해당 코드를 교환하도록 다른 요청을합니다.
  4. google apis를 사용하려면 액세스 토큰을 사용하고 만료 될 때마다 새로 고침 토큰을 사용하여 새 액세스 토큰을 받으십시오.

이보다 더 자세히 설명되어 있으며 보안을 유지하는 것이 옳은 일이지만 그게 일반적인 아이디어입니다.

이제 귀하의 앱은 명령 행 일 뿐이므로 그 흐름을하기가 어렵습니다. 불행히도 새로 고침 토큰을 얻으려면 한 번 해봐야 할 수도 있습니다. 일단 당신이 그것을 가지고, 당신은 귀하의 응용 프로그램에 줄 수 : myapp -google-token=FOOBAR123, 그리고 귀하의 애플 리케이션은 유효한 액세스 토큰에 대한 referesh 토큰을 교환 할 수 있습니다.

아마이 도움이 될 것입니다 https://github.com/burnash/gspread/wiki/How-to-get-OAuth-access-token-in-console%3F

관련 문제