【发布时间】:2013-01-19 18:39:51
【问题描述】:
首先,提前感谢所有阅读这篇文章的人。
我的学校(我是一名教师/技术协调员)正在使用 Google Apps for Education。我已使用 Provisioning API 与我们的 Microsoft Active Directory Server 通信,以将用户和组与 Google 同步。我有一个运行 ColdFusion 9 和 PHP 的网络服务器。我是一个从基础到公平的 ColdFusion 程序员,我的 PHP 技能是新手级别。
我至少有 3028 个群组我想将replyTo 字段更新为REPLY_TO_LIST(默认情况下,创建群组时,用户可以选择)
理想情况下,我希望 ColdFusion 服务器自动(每晚)联系 Google,获取域中所有组的列表(用户有权创建组,因此该列表可能每天都会更改)并确保对字段的回复设置正确。
目前,我在使用 OAuth 2.0 时遇到问题。我已阅读文档并且对我需要做什么感到困惑。我一直在寻找整个互联网,并发现了很多我头脑中的材料。我得到的最接近的是Ray Camden 的一篇很棒的帖子。但是,当我为 Google Groups 修改它时,我得到:
错误:invalid_request 缺少必需参数:response_type
但是,response_type 肯定存在。
我很确定问题的根源是我的范围,并且我发现了多个不同的参考,例如:
这是我目前在 GoogleGroupModifier.cfm 中的内容:
<cfset authurl = "https://accounts.google.com/o/oauth2/auth?"
& "client_id=#urlEncodedFormat(application.clientid)#"
& "&redirect_uri=#urlEncodedFormat(application.callback)#"
& "&scope=https://www.googleapis.com/auth/apps.groups.settings?response_type=code">
<cfoutput>
/groups/v1/groups/
authurl=#authurl#
<p><a href="#authurl#">Login</a></p>
</cfoutput>
还有 Application.cfc:
<cfcomponent>
<cfset This.name = "googlegroups">
<cfset This.Sessionmanagement="True">
<cffunction name="onApplicationStart" returntype="boolean" access="public">
<cfset application.clientid = "88888.apps.googleusercontent.com">
<cfset application.clientsecret="zzzzzz_">
<cfset application.callback="http://mydomain.org/wwp/google/GoogleGroupModifier.cfm">
<cfreturn true>
</cffunction>
</cfcomponent>
任何人都可以提供任何建议吗?我知道有关于 GITHUB 的信息,但是我在那里尝试过的东西似乎也无法开始工作。
【问题讨论】:
-
response_type 之前的
?应该是&吗? -
@PeterBoughton,你不妨把它写下来作为答案。 developers.google.com/accounts/docs/OAuth2Login 看起来他在关注 url 时出于习惯输入了
?。 -
这只是一个猜测。在这种情况下,我认为 Matt 的“使用经过测试的库”选项是一个更好的解决方案。
-
是的,我发布了,几秒钟后,马特添加了他的答案。
-
嗨彼得和特拉维斯,非常感谢您的帮助。这确实是问题的主要部分!就像你说的,使用 URL 变量的习惯力量。 “&scope=googleapis.com/auth/…; 是我现在所拥有的范围。此外,在更改该设置后,我的返回 URI 开始给我带来问题。我在 Google 上看到的内容是正确的,但肯定有一些里面有空白。OAUTH 2 运行良好。我是 StackOverflow 的新手,不知道如何继续这篇文章中的其他项目。我要开始一个新线程吗?
标签: api coldfusion oauth-2.0 google-groups-api