OAuth 資格情報を要求するときに、access_type を Offline または Online に指定できます。
オンライン アクセス タイプを選択すると、ユーザーはログインするたびにアプリへのアクセスを承認する必要があります。何故ですか?ユーザーは既に私のアプリを承認していませんか?
更新 #1:
approval_prompt を「自動」に設定しています。
Cookie を削除せずに Google からログアウトすると、再度プロンプトが表示されることはありません。ただし、Cookie を削除すると、許可画面に戻ります。
更新 #2:
OAuth Playground を介して正常に動作します。 http://code.google.com/oauthplayground/
Web サーバー アプリケーションに OAuth 2.0 を使用する https://developers.google.com/accounts/docs/OAuth2WebServer
更新 #3: 関連するコード スニペット
OAuth URL を生成するヘルパー メソッド
def build_auth_uri
return @client.authorization.authorization_uri(
:access_type => :online,
:approval_prompt => :auto
).to_s
end
ビューでヘルパー メソッドを呼び出す
<a href="<%= build_auth_uri %>"> Connect Me! </a>
Web ページで生成された OAuth URL
https://accounts.google.com/o/oauth2/auth?access_type=online&approval_prompt=auto&redirect_uri=http://localhost:3000/gclient/gcallback&response_type=code