【问题标题】:Access spreadsheet info from php从 php 访问电子表格信息
【发布时间】:2014-09-17 21:32:09
【问题描述】:

我正在尝试使用在 Google appengine 上运行的 PHP 从 Google 电子表格中获取用户列表。

最奇怪的部分是我使用 Google 帐户登录并限制在我的域中,如此处链接中所述。

https://developers.google.com/appengine/articles/auth

这真的很棒,因为我不必为没有@mydomain.com 的人配置任何要处理的东西,并确保 URL 安全,以便其他人无法访问它。

没有开始问题。我正在尝试访问电子表格,以便获得用户列表,但这并不像看起来那么容易。有关于 accesstoken 和 Oauth2.0 等的主题,但我没有使用其中任何一个,如果您使用此选项进行用户身份验证,则无需使用。

如何从这个 PHP 文件中读取电子表格中的信息?

此文件的我的 app.yaml 文件如下。

- url: /attendance/form.php
  script: attendance/Form/form.php
  login: required
  auth_fail_action: redirect

必须有一种简单的方法可以从谷歌电子表格中读取信息,而且由于它是 PHP,我可以将我的用户名和密码输入其中,不会有任何问题。

我还查看了https://developers.google.com/google-apps/documents-list,但它没有 PHP 代码,而且我不懂 JAVA。有谁知道在这种情况下该怎么办?

【问题讨论】:

    标签: php google-app-engine google-sheets


    【解决方案1】:

    经过大量的头撞和猜测工作,我想通了。

    按照这里的说明进行操作

    https://github.com/google/google-api-php-client

    • GAE 版本不需要 JSON,因为它有 PHP 5.4

    至于安装库,您必须下载并将“Google”文件夹放入您的代码文件夹中,以便它与您的应用程序一起上传到 GAE,然后使用以下内容包含该库

    set_include_path(get_include_path() . PATH_SEPARATOR . 'Google/src');
    

    然后文档说需要添加APP Key

    $client->setDeveloperKey("YOUR_APP_KEY");
    

    我不知道 APP KEY 是什么。我一直在研究文档并一直说要去开发者控制台。我仍然不知道什么是APP KEY。现在尝试从浏览器中显示无效密钥设置的错误中摆脱它

    该 API 密钥就是“YOUR_APP_KEY”。我真的希望有人向我解释我花了几天的时间感到困惑和迷茫。当它说服务器或浏览器时更令人困惑。我仍然不知道我应该使用浏览器还是服务器。它现在正在工作,所以我不会麻烦它。

    入门步骤也没有说明您需要执行 require_once 。我是新手,文档需要逐步解释。我不知道其他人可能需要什么,但添加您需要的任何服务,例如

    require_once 'Google/Client.php';
    require_once 'Google/Service/Drive.php';
    

    上面的链接甚至没有说明其中的不同服务。我必须查找文件名,然后打开它以找出服务名称。尽管在完成所有这些操作后看起来很简单,但如果它们被列在它自己的文档链接中会很好。我仍然不知道我需要什么命令来拉出其他东西。

    然后经过一些无脑点击后,我发现我们可以通过实际点击控制台中的 来找到或了解 api 功能。

    https://console.developers.google.com/project/apps~YOURAPPID>/apiui/api/drive -- 无法格式化抱歉

    然后我拼凑了一些代码,并在堆栈中其他人的帮助下结束了

    try{
    $file = $service->files->get(FILEID);
    print "Title: " . $file->getTitle();
    print "Description: " . $file->getDescription();
    print "MIME type: " . $file->getMimeType();
    }
    
    catch (Exception $e) {
        print "An error occurred: " . $e->getMessage();
    }
    

    FILEID 是 Google 赋予每个文件的长值。我想我可以使用允许运行查询并查看我得到的在线 DriveAPI 对其进行测试。我最初收到文件未找到的错误。看来我必须启用 Oauth 2.0 才能正常工作。

    到目前为止,我已经进入系统并知道我可以看到什么类型的文件。我希望这可以帮助任何第一次尝试它的人。一旦我可以从文件中读取信息,我将尝试更新。

    【讨论】:

      【解决方案2】:

      您需要的是 Google API 客户端库:https://github.com/google/google-api-php-client

      【讨论】:

      • 我猜api php客户端的src文件夹也必须与代码一起上传。现在这是令人困惑的地方。
      • $client_id = ''; //客户端ID $service_account_name = ''; //电子邮件地址 $key_file_location = ''; //key.p12是clientID还是app ID?需要创建的密钥 .p12 是什么?我看到的唯一键是 console.developer.google.com 中的公共 API 访问,它有几个选项,但我不知道该使用哪个?服务器密钥还是浏览器密钥?框中必须包含什么 URL?密钥可以上传到 GAE 还是我需要单独托管。
      • 任何人都知道该怎么做
      • 您可能会发现此文档很有用:developers.google.com/api-client-library/php
      猜你喜欢
      • 2013-02-11
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多