我目前正在构建一个使用Google Fusion Tables作为数据库的移动Web应用程序。 OAuth 2.0 guide for Fusion Tables很好,但是所描述的过程包括一个用户,该用户想要授予我的应用程序访问他的Fusion Tables的权限。
就我而言,我拥有Fusion Table(已连接到我的帐户),而我想要做的就是授予用户对该表上所有CRUD操作的权限。从公用表读取完全没有问题,因为它不需要身份验证,但是所有写操作(INSERT / UPDATE / DELETE)都需要身份验证。因此,如果有人访问我的移动Web应用程序,则他们应该获得我的融合表的访问令牌,从而允许他们写入该表。
我已经在Google上注册了我的应用程序,并且可以使用用户帐户登录时将数据写入融合表。这对其他人如何起作用?
我的问题:
仅浏览器解决方案可以做到这一点吗?从我学到的知识,我需要将我的客户端密码保存在JavaScript文件中。这真的那么糟糕吗?我的意思是,最糟糕的事情是什么?
我找到了有关"How-to: Secure OAuth in JavaScript"的博客文章,这是更好的方法吗?有人尝试过使用Google Fusion Tables吗?
如果构建仅浏览器解决方案不是那么容易,那么如何使用服务器端脚本来实现呢?我想到了一个PHP脚本,客户端可以在该脚本中获得有效的访问令牌。
我在正确的轨道上吗?您将如何解决此用例?
最佳答案
您可能需要为应用程序使用OAuth 2.0服务帐户来访问Fusion Tables:
https://developers.google.com/accounts/docs/OAuth2ServiceAccount
Google PHP客户端库支持以下类型的帐户:
http://code.google.com/p/google-api-php-client/wiki/OAuth2
关于php - 使用OAuth验证应用程序以访问融合表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271623/