2012-01-10 101 views
5

我试图将一个域的所有Google Apps用户列表放入公共PHP网站(没有该网站的访问者需要登录或执行任何操作)。我对需要发生的事情有一个基本的了解,但不能把它们放在一起。它不能像我看起来那么难...可以吗?列出PHP网站上的所有Google Apps配置文件

身份验证和授权: 我敢肯定它需要使用的OAuth 2.0 ...但我不确定它是否需要2条腿3条腿。我有另一部分网站与ClientLogin一起工作,但不会拉入Google Apps配置文件,只有用户的名字和姓氏(我需要其他配置文件字段)。我已经在帐户中设置了API访问权限,并且设置了所有事情的这一方面(我相信)。

我找到了这个页面,它显示了如何构建一个URL请求来获取所有配置文件(除了PHP之外的每种语言),但不知道如何实现这个。 http://code.google.com/googleapps/domain/profiles/developers_guide.html

我也试过这个例子,但是在我输入凭证后它只给了我一个401。 http://gdatatips.blogspot.com/2008/11/2-legged-oauth-in-php.html

我不知道需要哪个框架或包含来完成此任务。我已经尝试过zend,OAuth.php和一大堆其他bootstraps ...但是每个人都在做什么都会迷失方向。

如果有人可以帮助我通过概述:

  1. 哪些文件/框架,我需要上传,包括作为引导
  2. 那些我需要与谷歌凭据更新文件中哪些变量
  3. 我如何整合谷歌个人档案“检索所有配置文件”用PHP

ELI5请求(解释它就像我5 )概述将是非常感谢......我很抱歉我显然无能,但我已经阅读了近一周的文章,并没有得到任何地方。

非常感谢您提供的任何帮助。

+0

在OAuth流程中,您需要将用户重定向到Google页面,以便他们授予您适当的权限。但是你不想要求访问者以任何方式登录?!请解释 – ori 2012-01-15 18:35:17

+0

正确,我希望让用户访问该页面并查看数据(无需重定向)...身份验证将在幕后进行。如果域名是我的,我不应该让网站用户登录而不能在我的网站上显示它的信息? – RANGER 2012-01-16 19:47:31

回答

6

好问题。

你需要实现谷歌的OAuth 2.0的过程,因为它是描述here(实验?),因为有人()将需要给你的应用程序的初始权限来访问谷歌Apps的API。步骤是:

  • 注册与谷歌站点(不记得链接)
  • 重定向/发送到浏览器的认证网址:https://accounts.google.com/o/oauth2/auth,用适当的请求参数(参见第一个链接)。你需要access_type=offline,你的范围将https://apps-apis.google.com/a/feeds/user/
  • 获取验证码回来,然后换得refresh_token,一个的access_token,和值,指定当会的access_token过期。将它们存储在数据库中
  • 每当需要进行API调用时,请检查您的access_token是否已过期,并在必要时进行刷新,这是refresh_token的用途。只要您不撤销您对应用的访问权限,refresh_token就是有效的。

OAuth Playground帮助很大。祝你好运。

相关问题