使用importRows上载FusionTables数据失败,HttpError 500:Backend E

2024-09-29 06:30:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Google APIs Client Library for Python来更新一个融合表,并用Fusion Tables API v1将行添加到融合表中。当我使用sqlinsert查询方法一次只执行一行时,就可以成功地完成此操作。我还希望能够使用importRows方法更新Fusion表。在

我从一个文件开始测试csv.csv'并希望将其完全导入现有的Fusion表中。有一个很好的概念解释来做这个here。在

这个概念性的例子解释了API是否接受图像,但是要更新融合表,类型必须是“application/octet stream”。在

我尝试使用importRows方法和以下代码(注意:service是经过身份验证的API连接):

from apiclient.discovery import build
from apiclient.http import MediaFileUpload
.
.
.
mediaCsv=MediaFileUpload(csvFileName, mimetype='application/octet-stream')
request = service.table().importRows(tableId=wrrTweetsID, media_body=mediaCsv,
            startLine=1, encoding='auto-detect')
response = request.execute()

当我执行此代码时,会返回以下错误消息:

^{pr2}$

我的问题是,我需要对.csv做些什么来将其转换为application/octet-stream?或者我在使用这个方法的过程中还遗漏了什么?在


Tags: csv方法代码fromimportapistreamapplication
1条回答
网友
1楼 · 发布于 2024-09-29 06:30:52

{1}这是我所学过的问题。我还发现了我使用importRows的错误。method documentation表示

"Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding."

我假设使用'auto-detect'是确保正确接收我的请求的最安全的方法。这是一个不正确的假设:将编码改为'utf-8'会导致一个成功的importRows请求。在

相关问题 更多 >