2017-08-14 188 views
0

我正在尝试使用PHP/JS为WordPress编写一个简单的插件。该插件只有一个目标,即创建一个小部件。对于那些不熟悉WordPress插件实现的人来说,这不是太复杂 - 我可以像平常一样使用JS/PHP。因此,为了这个问题的目的,一个PHP/HTML文件可能会给出我正在寻找的答案。Google Sheets API:从公开表单中读取单元格值

我有以下共享设置可公开访问的表:

spreadsheet settings

所有我想现在要做的是检索一个工作表的单个单元格的值。该工作表称为Live Summary,单元格为E20

spreadsheet

我得到这个工作使用OAuth 2.0认证。但是,我不希望用户必须进行身份验证才能看到此信息。

我希望我的网站在任何时候都显示这个单元格的值,就好像它是网站的一个功能,或者好像我从安装WordPress的MySQL数据库中取出它一样。

how it should look

我读过有关使用某些GET端点从谷歌API表,但对我的生活我甚至不知道在哪里,如果我不使用OAuth凭证启动。

是否有人可以请a)告诉我这是否可能,如果是这样,b)指出我正确的方向开始?

最好使用JavaScript - 但我也可以应付PHP。

+0

这里为大家介绍一些选择:https://stackoverflow.com/a/42757972 – mtkopone

+0

感谢您的@ mtkopone,这是一个有用的链接。我已经检查了所有这些资源,但我并没有接近我的主要问题 - 我不知道如何(或者,如果甚至可能的话 - 肯定是?)访问API *授权。或者,也许我需要使用一种通过“bot”验证过的授权,以便所有用户都可以访问这些信息。 – dunc

回答

1

下面介绍如何在没有OAuth的情况下使其工作。

1)将您的工作表公开给网络上的所有人。 (当你已经有了。)

2)发布它:在谷歌表UI,导航到File>在网络上发布...

3)选择键入链接,整个文档,网页,然后点击发布。

之后,您可以(仍然)使用https://developers.google.com/sheets/api/v3/worksheets中记录的遗留API来访问您的数据。

访问数据的URL的形式是:

https://spreadsheets.google.com/feeds/<WHAT_KIND_OF_DATA>/<YOUR_SHEET_KEY>/<YOUR_SPREADSHEET_SHEET:)>/public/full?alt=json

因此,例如,对于我已经发表了片数据(只包含文本“我E20”在E20)可以在这里找到:

https://spreadsheets.google.com/feeds/cells/1TbMrtJl01i-Q5YudlhdAB_E1LTYkkLswnql5LHyiIuk/1/public/full?alt=json

还有几个选项只公布数据,这可能是更适合你的一个子集。但我希望这能让你前进。

编辑:接下来的步骤:

下一个问题可能是CORS。你可以绕过它,例如JSON-P。这里是一个完全工作的JSON-P解决方案,装上我的表中的E20-单元格的内容:

<html> 
<body> 
    <pre id='data'></pre> 
</body> 
<script> 
    const onDataLoaded = (data) => { 
    const e20Content = data.feed.entry.find((entry) => entry.title.$t == 'E20').content.$t 
    document.getElementById('data').innerHTML = e20Content 
    } 
</script> 
<script src="https://spreadsheets.google.com/feeds/cells/1TbMrtJl01i-Q5YudlhdAB_E1LTYkkLswnql5LHyiIuk/1/public/basic?alt=json-in-script&callback=onDataLoaded"></script> 
</html> 
+0

*编辑*我没有阅读你的帖子的更早的位,你解释这个答案,请忽略!这正是我想要的 - 您的代码示例已开箱即用(使用我的电子表格ID)。我会在19小时内给予奖励 - 谢谢。 – dunc

相关问题