多个范围值oauth2
我尝试发布sereval范围值,以允许我的应用程序的一些谷歌服务…
我尝试了两个input字段
<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" />
并带有+分隔符的一个input字段
<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar+https://www.googleapis.com/auth/userinfo.email" />
当我发送我的表格只有一个范围它的工作。 否则与sereval范围值谷歌redirect我这个错误的描述:
http://localhost:49972/redirect.aspx#error=invalid_request&error_description=OAuth+2+parameters+can+only+have+a+single+value:+scope&error_uri=http://code.google.com/apis/accounts/docs/OAuth2.html
在谷歌开始与oAuth2它适用于两个范围值。
这是我的代码:
<form id="form1" method="post" action="https://accounts.google.com/o/oauth2/auth?" > <div> <input type="hidden" name="response_type" value="code" /> <input type="hidden" name="client_id" value="my client id" /> <input type="hidden" name="redirect_uri" value="http://localhost:49972/redirect.aspx" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" /> <input type="hidden" name="state" value="/profile" /> <input type="submit" value="go" /> </div> </form>
当你把它们组合到一个单一的领域时,你是在正确的轨道上。 请求中只能有一个scope参数,值之间用空格分隔。 如果你把它放在这样的表单中,浏览器将会为你编码空间。
<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email" />