Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何在行动发生后而不是注册后请求谷歌日历同意_Django_Google Calendar Api_Python Social Auth - Fatal编程技术网

Django 如何在行动发生后而不是注册后请求谷歌日历同意

Django 如何在行动发生后而不是注册后请求谷歌日历同意,django,google-calendar-api,python-social-auth,Django,Google Calendar Api,Python Social Auth,背景: 我正在构建一个Django项目,用户可以使用google登录,python social auth正在帮助我这样做。我正在建立一个网站,人们可以在那里安排活动。因此,我考虑添加一个新功能,当某人与另一个人一起安排活动时,如果他们与谷歌登录,它将在两个人的日历中安排该活动 实际问题是: 当有人在我的网站上注册谷歌时,它会要求他们选择一个账户,并立即要求同意他们的谷歌日历。我担心对于我网站上的新手来说,这可能会吓到他们,所以我希望他们只在安排活动时才同意他们的谷歌日历。有办法做到这一点吗 作

背景: 我正在构建一个Django项目,用户可以使用google登录,python social auth正在帮助我这样做。我正在建立一个网站,人们可以在那里安排活动。因此,我考虑添加一个新功能,当某人与另一个人一起安排活动时,如果他们与谷歌登录,它将在两个人的日历中安排该活动

实际问题是: 当有人在我的网站上注册谷歌时,它会要求他们选择一个账户,并立即要求同意他们的谷歌日历。我担心对于我网站上的新手来说,这可能会吓到他们,所以我希望他们只在安排活动时才同意他们的谷歌日历。有办法做到这一点吗


作为问题的扩展,我是应该在某人注册后立即请求同意,还是应该在他们安排活动时请求同意。

当请求用户访问用户数据或其他资源的权限时,您可以使用增量授权预先请求初始请求中的所有作用域,或者仅在需要时请求作用域。使用增量授权,应用程序最初仅请求启动应用程序所需的作用域,然后在向用户标识请求原因的上下文中,在需要新权限时请求其他作用域

这个链接可能有助于我不是django开发人员


但是接受者(没有预约的人)将如何给予他/她的同意?@WillemVanOnsem好问题,这是我在这个问题之前考虑的问题,这就是为什么我在问题中添加了扩展,以确保这是一个好主意。我在想,如果有人安排了一个活动,而接收者没有授予网站适当的权限,那么它只会与获得同意的人一起安排活动。我从这篇文章中意识到,我需要找到一种通过python social auth添加额外作用域的方法,这让我想到了这篇文章:谢谢你的帮助。
var options = new gapi.auth2.SigninOptionsBuilder(
    {'scope': 'email https://www.googleapis.com/auth/drive'});

googleUser = auth2.currentUser.get();
googleUser.grant(options).then(
function(success){
  console.log(JSON.stringify({message: "success", value: success}));
},
function(fail){
  alert(JSON.stringify({message: "fail", value: fail}));
});