AppInventor:Fusion Tables SQL查询更新

时间:2013-06-24 16:34:27

标签: sql api google-fusion-tables app-inventor

我正在使用我正在AppInventor中开发的Android应用程序的融合表,我有一个关于更新行的SQL查询的问题。

现在,在我提出这个问题之前,我会告诉你我会包含我的块编辑器代码的一些截图,但我的老板告诉我,我必须保持应用程序100%封闭源代码,所以我可以'提供任何。希望我不会太模糊。

无论如何,我使用“make text”块和Google API UPDATE查询设置了FusionTablesControl查询,但是当我在我的测试设备(Samsung Galaxy Player 5)上发送查询时,覆盖的“Fusion Tables”加载屏幕弹出仅一瞬间(通常显示2或3秒)。当我检查表格时,没有任何变化。

我认为语法仍然是一个潜在的问题,因为当我将编码后的网址输入google chrome的地址栏时,它仍然没有更新表格。这是我输入地址栏的基本语法。

https://www.googleapis.com/fusiontables/v1/query?sql=UPDATE%20tableID%20SET%20(Column1%3Ddata1%2C%20Column2%3Ddata2%2C%20Column3%3Ddata3%2C%20Column4%3Ddata4)%20WHERE%20ROWID%20%3D%20%27rowID%27

“sql =”部分之后的解码URL是:

UPDATE tableID SET (Column1=data1, Column2=data2, Column3=data3, Column4=data4) WHERE ROWID = 'rowID'

任何帮助都将不胜感激。

此外,是否可以将Google的API响应设置为CSV而不是JSON?

谢谢, 〜T16626

1 个答案:

答案 0 :(得分:0)

这不起作用,因为您没有使用身份验证。有关see here的更多信息:

  

识别您的申请并授权请求

     

您的应用程序发送到Fusion Tables API的每个请求都需要   向Google确定您的申请。有两种方法可以识别   您的应用程序:使用OAuth 2.0令牌(也授权   请求)和/或使用应用程序的API密钥。这是如何做到的   确定使用哪些选项:

     

如果请求需要授权(例如请求   个人的私人数据),然后应用程序必须提供OAuth   带有请求的2.0令牌。应用程序也可以提供API密钥,但不一定要提供。如果请求不需要   授权(如公共数据请求),然后   应用程序必须提供API密钥或OAuth 2.0令牌,或   无论什么选择对你来说都是最方便的。

要使用App Inventor 访问融合表,您有两种可能性:

  1. 使用内置的可融合控制块,如何为App Inventor设置所有内容,请参阅Pizza Party tutorial
  2. 使用带有身份验证的网络组件for details see here