我正在使用我正在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
答案 0 :(得分:0)
这不起作用,因为您没有使用身份验证。有关see here的更多信息:
识别您的申请并授权请求
您的应用程序发送到Fusion Tables API的每个请求都需要 向Google确定您的申请。有两种方法可以识别 您的应用程序:使用OAuth 2.0令牌(也授权 请求)和/或使用应用程序的API密钥。这是如何做到的 确定使用哪些选项:
如果请求需要授权(例如请求 个人的私人数据),然后应用程序必须提供OAuth 带有请求的2.0令牌。应用程序也可以提供API密钥,但不一定要提供。如果请求不需要 授权(如公共数据请求),然后 应用程序必须提供API密钥或OAuth 2.0令牌,或 无论什么选择对你来说都是最方便的。
要使用App Inventor 访问融合表,您有两种可能性: