如何从API上传时设置FileName值?

时间:2015-08-04 15:27:45

标签: c# google-analytics google-analytics-api

我在我的代码中使用Google Analytics v3库将数据上传到自定义数据集。我注意到当我从UI(浏览器)上传这些数据时,我会自动填充filename参数。(截图

Uploaded from Browser

我想在这个guide

中找到答案

这是我的代码:

            var service = new AnalyticsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = cr,
                    ApplicationName = "Analytics API Sample"
                });

            //Upload the contents of a file to a custom data set.
            try
            {
                const string accountId = "65651631";
                const string webPropertyId = "UA-65651631-1";
                const string customDataSourceId = "WMIjJuXXSyKZC8x8YOnbYQ";
                FileStream realCsv = new 
                   FileStream(@"C:\Users\Downloads\TestData - template.csv", FileMode.Open);
                var upload = service.Management.Uploads.UploadData(accountId, webPropertyId,
                    customDataSourceId, realCsv, "application/octet-stream").Upload();

                realCsv.Close();
                realCsv.Dispose();

1 个答案:

答案 0 :(得分:1)

不幸的是,客户端库从POST请求中删除了文件名。但是,如果您自己使用CURL表示请求,则文件名将保留在POST正文中,并在网络用户界面中正确标记。

curl -X POST -H "https://www.googleapis.com/upload/analytics/v3/management/accounts/<ACCOUNT>/webproperties/<PROPERTYID>/customDataSources/<DATASOURCEID>/uploads?uploadType=media" -F "upload=@filename.csv;type=application/octet-stream"

我知道这不是你所希望的答案,但我希望它有所帮助。