Donnerstag, 15. Januar 2015

Posts auf Blogger durchsuchen

Nachdem ich im vorigen Post gezeigt habe, wie man mit der Blogger Data API v2 mit C# Posts auf Blogger veröffentlicht, möchte ich heute zeigen, wie man bereits existierende Posts auf dem eigenen Blog durchlaufen kann.
Wir leisten die selbe Vorarbeit wie im vorigen Post, binden also Google.GData.Client ein und erstellen ein Service Objekt, mit welchem wir uns anmelden.
Mit der folgenden Feedabfrage können wir dann auf alle veröffentlichten Posts zugreifen:

            FeedQuery query = new FeedQuery();
            query.Uri = new Uri("http://www.blogger.com/feeds/" + blogID + "/posts/default");

            AtomFeed feed = null;
            feed = service.Query(query);

Das folgende Beispielprogramm durchsucht die Inhalte aller vorhanden Posts nach dem Suchbegriff "Test" ab und gibt die Titel der passenden Posts aus:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Google.GData.Client;

namespace BloggerQueryPosts
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Service service = new Service("blogger", "");
            service.Credentials = new GDataCredentials(Email, Password);
            GDataGAuthRequestFactory factory = (GDataGAuthRequestFactory)service.RequestFactory;
            factory.AccountType = "GOOGLE";

            FeedQuery query = new FeedQuery();
            query.Uri = new Uri("http://www.blogger.com/feeds/" + blogID + "/posts/default");

            AtomFeed feed = null;
            feed = service.Query(query);
            foreach (AtomEntry entry in feed.Entries)
            {
                if (entry.Content.Content.ToString().Contains("Test"))
                    MessageBox.Show("Match. " + entry.Title.Text);
            }
        }
    }
}

Keine Kommentare:

Kommentar veröffentlichen