Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 如何使用.NET Google.API.Fusiontables.v2(流csv)中的ReplaceRows?_Google Maps_Google Fusion Tables_Google Api Dotnet Client - Fatal编程技术网

Google maps 如何使用.NET Google.API.Fusiontables.v2(流csv)中的ReplaceRows?

Google maps 如何使用.NET Google.API.Fusiontables.v2(流csv)中的ReplaceRows?,google-maps,google-fusion-tables,google-api-dotnet-client,Google Maps,Google Fusion Tables,Google Api Dotnet Client,目标:使用ReplaceRows()将csv文件中的新行替换为旧行,从而更新融合表 我正在使用Google.api.fusionables.v2库 我已经读了一遍又一遍,但仍然无法使我的代码正常工作 身份验证正在工作,我能够执行简单的插入而不会出现问题: string sql = "INSERT INTO 11t9VLt3vzb46oGQMaS2LTSPWUyBYNcfi1shkmvag (rpu_id, NO_BAIL, 'Usage (description)', 'Use (descrip

目标:使用ReplaceRows()将csv文件中的新行替换为旧行,从而更新融合表

我正在使用Google.api.fusionables.v2库

我已经读了一遍又一遍,但仍然无法使我的代码正常工作

身份验证正在工作,我能够执行简单的插入而不会出现问题:

string sql = "INSERT INTO 11t9VLt3vzb46oGQMaS2LTSPWUyBYNcfi1shkmvag (rpu_id, NO_BAIL, 'Usage (description)', 'Use (description)', 'Sup. louable m2', 'Sup. Utilisable m2', 'SumTotal Lou', 'Percent Lou', 'SumTotal Util', 'Percent Util') VALUES (9999,1111,'Test','Test En',1,2,3,4,5,6)"
Sqlresponse sqlRspnse = service.Query.Sql(sql).Execute();
我曾尝试直接从TableResource类中执行
ReplaceRowsMediaUpload
ReplaceRowsMediaUpload

从服务对象调用upload函数不会出错,但我不确定下一步该怎么做才能真正替换Fusion表中的行(服务是FusiontablesService):

我试过:

service.Table.ReplaceRows("1X7JMLFy75uq20UnU6cLrGTTDfp6lLuD1Fc3vYYjQ").Execute()
在上传之后,但这只是将融合表置于“卡住”模式


有人能提供替换行工作所需的行吗?(请解释,但不是必需的!)。

您可以使用RESTAPI调用直接替换Google Fusion表中的一行,而不是编写方法来替换。以下是一个例子:

POST https://www.googleapis.com/upload/fusiontables/v2/tables/tableId/replace
请参阅文档了解更多详细信息,它也有一个测试环境工具。

您应该将“text/csv”更改为“application/octet stream”。(请参见此处接受的MIME类型:)

上传的请求应该足够了


另外,尝试创建一个新表来测试它,以确保它设置正确。

Google.api.Fusiontables.v2是Google为.NET应用程序创建的库。我正在寻找使用c#中现有调用的方法。值得注意的是,ReplaceRows只接受“application/octet stream”流,因此我认为this parm指的是流的实际内容。还需要指出的是,由于未知原因,Fusion表的某些副本将不接受ReplaceRows。从头开始创建一个相同的表似乎总是可行的。
POST https://www.googleapis.com/upload/fusiontables/v2/tables/tableId/replace
StreamReader str = new StreamReader(Server.MapPath("~") + @"\sample2.csv");
service.Table.ReplaceRows("1X7JMLFy75uq20UnU6cLrGTTDfp6lLuD1Fc3vYYjQ", str.BaseStream, "application/octet-stream").Upload();