0

我目前正在整合Google日历和我公司的网站。但是我想保存用户的凭证,所以他只需要验证一次。我构建了以下URL。Google API - 如何创建HTTP Get来认证用户并从客户端js获取刷新令牌?

https://accounts.google.com/o/oauth2/v2/auth?client_id=my_client_id&redirect_uri=localhost&state=django_csrf_token&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar&access_type=offline&response_type=code

,并调用下面的代码片段:

xhr = new XMLHttpRequest(); 
xhr.open('GET', url); 
xhr.setRequestHeader('Access-Control-Allow-Origin', '*'); 
xhr.send(); 

现在。我被卡住了......

回答

0

您无法通过XMLHttpRequest执行OAuth呼叫。如果用户当前未登录Google,用户将如何通过该呼叫登录?用户将如何批准您的应用程序请求的权限?您必须将浏览器重定向到该URL。

+0

很酷,但是如何从身份验证中恢复生成的对象?由于此身份验证应返回包含refresh_token属性的JSON。 –

+0

@JoãoEsteves将用户重定向到该URL后,用户将能够批准您的应用程序。完成之后,Google会将用户导回到您在查询字符串中指定的回叫网址。当您在服务器上获取该请求时,您将在查询字符串参数中看到授权码。使用它与您的客户端ID和密码一起向Google发送POST请求,以交换访问令牌和刷新令牌的授权代码。 – idbehold

相关问题