Я новичок в Google Analytics и попытался получить доступ к данным аналитики с примером, который я нашел в Интернете.Исключение API API Google Analytics в C#
Он бросает исключение ниже:
Google.GData.Client.ClientFeedException: Parsing failed ---> System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at Google.GData.Client.BaseFeedParser.MoveToStartElement(XmlReader reader)
at Google.GData.Client.AtomFeedParser.Parse(Stream streamInput, AtomFeed feed)
--- End of inner exception stack trace ---
at Google.GData.Client.AtomFeedParser.Parse(Stream streamInput, AtomFeed feed)
at Google.GData.Client.AtomFeed.Parse(Stream stream, AlternativeFormat format)
at Google.GData.Client.Service.CreateAndParseFeed(Stream inputStream, Uri uriToUse)
at Google.GData.Client.Service.Query(FeedQuery feedQuery)
at Google.GData.Analytics.AnalyticsService.Query(DataQuery feedQuery)
at GoogleAnalytics.Program.Main(String[] args) in e:\\Code\\GoogleAnalytics\\GoogleAnalytics\\Program.cs:line 40
Ниже приведен код. Может ли кто-нибудь помочь мне, если это возможно? Я не мог найти правильную документацию о том, как это сделать. Заранее благодарю вашу помощь.
string username = "[email protected]";
string pass = "Password";
string gkey = "?key=<<key>>";
string dataFeedUrl = "https://www.googleapis.com/auth/analytics.readonly/" + gkey;
AnalyticsService service = new AnalyticsService("WebApp");
service.setUserCredentials(username, pass);
DataQuery query1 = new DataQuery(dataFeedUrl);
query1.Ids = "ga:1235466";
query1.Metrics = "ga:visits";
query1.Sort = "ga:visits";
query1.Dimensions = "ga:dimension1";
query1.GAStartDate = new DateTime(2012, 1, 2).ToString("yyyy-MM-dd");
query1.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");
query1.StartIndex = 1;
DataFeed dataFeedVisits = service.Query(query1);
foreach (DataEntry entry in dataFeedVisits.Entries)
{
string st = entry.Title.Text;
string ss = entry.Metrics[0].Value;
}
Спасибо DalmTo :) В соответствии с вашей рекомендацией я попытался использовать API Google API V3, который был действительно хорош по сравнению с тем, который я использовал. В очередной раз благодарим за помощь. –