0

大家好,我有一个应用程序可以提取 YouTube 分析数据,但它有时无法正常工作。详细信息如下与代码

for (int ISOCountryCode = 0; ISOCountryCode < ds.Tables[0].Rows.Count; ISOCountryCode++)
                {
                    //validation to check if date is null
                    string strdimensions = "day";
                    string strmetrics = "views,comments,favoritesAdded,favoritesRemoved,likes,dislikes,shares,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,annotationClickThroughRate,annotationCloseRate,subscribersGained,subscribersLost,uniques";
                    string strstartdate = Convert.ToDateTime(WeekStartDate).ToString("yyyy-MM-dd");
                    string strenddate = Convert.ToDateTime(WeekEndDate).ToString("yyyy-MM-dd");

                    string DownloadURL = string.Format("https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel==" + ChannelID + "&start-date=" + strstartdate + "&end-date=" + strenddate + "&metrics=" + strmetrics + "&key=KE9gM-4_tgmVw3L3QaMSeR-G4X5vr7tA&access_token=" + token + "&dimensions=" + strdimensions + "&alt=csv&filters=country==" + ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString());
                    urlDownload.Download(DownloadURL, "Z:\\InsightData\\ChannelData\\UnZipFilesFldr\\" + ChannelID + "_world_" + ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString() + ".csv");

                    strdimensions = "day,operatingSystem,deviceType";
                    strmetrics = "estimatedMinutesWatched,views";

                    DownloadURL = string.Format("https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel=={2}&start-date=" + strstartdate + "&end-date=" + strenddate + "&metrics=" + strmetrics + "&key=KE9gM-4_tgmVw3L3QaMSeR-G4X5vr7tA&access_token={0}&dimensions=" + strdimensions + "&alt=csv&filters=country=={1}", token, ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString(), ChannelID);
                    urlDownload.Download(DownloadURL, "Z:\\InsightData\\ChannelData\\UnZipFilesFldr\\" + ChannelID + "_world-device_" + ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString() + ".csv");

                    strdimensions = "day,operatingSystem,deviceType";
                    strmetrics = "estimatedMinutesWatched,views";

                    DownloadURL = string.Format("https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel=={2}&start-date=" + strstartdate + "&end-date=" + strenddate + "&metrics=" + strmetrics + "&key=KE9gM-4_tgmVw3L3QaMSeR-G4X5vr7tA&access_token={0}&dimensions=" + strdimensions + "&alt=csv&filters=country=={1}", token, ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString(), ChannelID);
                    urlDownload.Download(DownloadURL, "Z:\\InsightData\\ChannelData\\UnZipFilesFldr\\" + ChannelID + "_world-deviceType_" + ds.Tables[0].Rows[ISOCountryCode]["ISOCode"].ToString() + ".csv");
                }

The Code in the urlDownload.Download is :-

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(strURLFileandPath);
                HttpWebResponse ws = (HttpWebResponse)wr.GetResponse();
                Stream str = ws.GetResponseStream(); - > Line Of Error

在它要求响应流的最后一行出错并显示“500 Internal Server Error”

4

0 回答 0