Showing posts with label GData. Show all posts
Showing posts with label GData. Show all posts

Friday, February 10, 2012

Create a Google calendar event in an existing calendar

var credentials = new GDataCredentials(userName, password);
var service = new CalendarService(null) {Credentials = credentials};
var query = new CalendarQuery("https://www.google.com/calendar/feeds/default/owncalendars/full");
var feed = service.Query(query);
var eventFeedLink = feed.Entries.Cast<CalendarEntry>()
    .Where(item => item.Title.Text == calendarName)
    .SelectMany(item => item.Links)
    .First(link => link.Rel == GDataParserNameTable.NSGCal + "#eventFeed");
var entry = new EventEntry(title) {Times = {new When(start, end, allDay)}};
service.Insert(new Uri(eventFeedLink.AbsoluteUri), entry);
Google Data API .NET client library

Friday, January 20, 2012

Create a YouTube playlist containing all the uploads of a given user

var credentials = new GDataCredentials(userName, password);
var service = new YouTubeService(applicationName, developerKey) {Credentials = credentials};
var entry = new AtomEntry {Title = {Text = playlistName}};
entry = service.Insert(new Uri(YouTubeQuery.CreatePlaylistsUri(null)), entry);
var id = ((XmlExtension) entry.FindExtension("playlistId", YouTubeNameTable.NSYouTube)).Node.InnerText;
var batchUri = new Uri(string.Format("https://gdata.youtube.com/feeds/api/playlists/{0}/batch", id));
var query = new YouTubeQuery(YouTubeQuery.CreateUserUri(sourceUser)) {StartIndex = 1};
AtomFeed feed;
do
{
    feed = service.Query(query);
    service.Batch(feed, batchUri);
    query.StartIndex += feed.Entries.Count;
} while (query.StartIndex < feed.TotalResults);
Google Data API .NET client library

Friday, December 30, 2011

Read a published Google spreadsheet into a DataTable using GData

var service = new SpreadsheetsService(null);
var query = new ListQuery("0AjD5UGMt5CGDdEcwaS10S2IzVzJFNDYtaEo5anN2RHc", "1", "public", "values");
var feed = service.Query(query);
var table = new DataTable();
foreach (ListEntry entry in feed.Entries)
{
    var row = table.NewRow();
    foreach (ListEntry.Custom element in entry.Elements)
    {
        var column = table.Columns[element.LocalName] ??
                     table.Columns.Add(element.LocalName);
        row[column] = element.Value;
    }
    table.Rows.Add(row);
}
Google Data API .NET client library