What steps will reproduce the problem?
1. Querying the Analytics API using the AnalyticsService class
2. Using a filter value that contains the string 'ids'
What is the expected output? What do you see instead?
Instead of a normal response from I receive an exception due to a "(400) Bad
Request." response from
the server.
I've had a look at the .NET library and there is a bug in the AppendQueryPart
method (line 903) of the
FeedQuery class in the Core Client project. When adding a parameter to the
querystring the code ensures
this parameter hasn't already been added, but this check isn't working
properly. For the ids parameter
the querystring is checked to see if it contains the string "ids" - this string
could be found in a
parameter value and the check would return a false positive.
Therefore I would recommend that all occurrences of the following code:
if (builder.ToString().IndexOf(parameterName) == -1)
are changed to the following:
if (builder.ToString().IndexOf(parameterName + "=") == -1)
It may just be neater to use an array of parameters that can be joined to make
a string once all
parameters have been added, instead of using the StringBuilder class.
Original issue reported on code.google.com by parish.a...@gmail.com on 28 Apr 2010 at 8:52
Original issue reported on code.google.com by
parish.a...@gmail.com
on 28 Apr 2010 at 8:52