谷歌数据API SDK -过滤器编码/转义

Google Data API SDK - Filter encoding/escaping

本文关键字:编码 转义 过滤器 数据 API SDK 谷歌      更新时间:2023-09-26

我该如何处理DataQuery参数来调用Google Analytics API以获得与http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html相同的结果?我尝试了URL编码和转义,但没有效果,不应该像这里所说的那样需要。我有一个通过Google Data SDK API调用Google Analytics的web服务,我用SOAP库调用它,像这样:

var Parameters = new SOAPClientParameters();
            Parameters.add('Ids', 'ga:MyID');   // This is the ID for internet-alumni.com, not proof.ptly.com
            Parameters.add('Filters', 'ga:pagePath=@/vic/mgs/ocd.aspx#h_');
            Parameters.add('Dimensions', 'ga:date,ga:pagePath');
            Parameters.add('Metrics', 'ga:visitors');
            Parameters.add('MaxEntries', 50);
            Parameters.add('DateFrom', '2011-07-01');
            Parameters.add('DateTo', '2011-06-01');
            SOAPClient.invoke(URL, Function, Parameters, true, OnDataReceived);         

调试服务时,到达的参数完全相同,尽管在调用DataQuery时。查询是否报告未指定起始日期。当我在过滤器中编码#为%23时,它毫无例外地进行查询,但不返回数据,即使在数据源查询浏览器中相同的字符串返回正确的数据。

通过删除#并为ga:pagePath添加OR语句来绕过它。