【问题标题】:List all Google Apps Profiles on PHP Site列出 PHP 站点上的所有 Google Apps 配置文件
【发布时间】:2012-02-06 15:12:09
【问题描述】:

我正在尝试将某个域的所有 Google Apps 用户的列表添加到公共 PHP 网站上(该网站的访问者无需登录或执行任何操作)。我对需要发生的事情有一个基本的了解,但不能完全拼凑起来。它不可能像我认为的那么难……可以吗?

身份验证和授权: 我很确定它需要使用 OAuth 2.0 ...但不确定它是否需要 2 legged3 legged。我让网站的另一部分与 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 和一大堆其他引导程序......但一直迷失在每个人在做什么。

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

  1. 我需要上传和包含哪些文件/框架作为引导程序
  2. 我需要使用 Google 凭据更新这些文件中的哪些变量
  3. 如何将 Google 个人资料“检索所有个人资料”请求与 PHP 集成

ELI5(像我 5 岁一样解释)概述将非常感谢非常...我很抱歉我明显的无能,但我一直读了将近一个星期的文章,没有任何收获。

提前感谢您提供的任何帮助。

【问题讨论】:

  • 在 OAuth 过程中,您需要将用户重定向到 google 页面,以便他们授予您适当的权限。但是您不想要求访问者以任何方式登录?!请解释
  • 正确,我想让用户访问页面并查看数据(不被重定向)......身份验证将在幕后进行。如果域是我的,我是否应该能够在不要求网站用户登录的情况下在我的网站上显示它的信息?

标签: php oauth-2.0 google-apps google-profiles-api


【解决方案1】:

好问题。

您需要按照here(实验性?)的描述实现 Google OAuth 2.0 流程,因为有人()需要为您的应用授予访问 Google Apps 的初始权限API。步骤是:

  • 在 google 上注册您的域(不记得链接)
  • 使用适当的请求参数将浏览器重定向/发送到身份验证 URL:https://accounts.google.com/o/oauth2/auth(参见第一个链接)。你需要access_type=offline,你的范围是https://apps-apis.google.com/a/feeds/user/
  • 取回代码,然后换取 refresh_tokenaccess_token 和指定 access_token 何时过期的值。将这些存储在数据库中
  • 每当你需要调用API时,检查你的access_token是否过期,必要时刷新,这就是refresh_token的作用。只要您不撤销您授予应用的访问权限,refresh_token 就有效。

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

【讨论】:

    猜你喜欢
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2023-02-02
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多