Google Blogger API v3.0を使ってエントリを書き込む

先日、C#からGoogle Blogger API v3.0を使用した。
検索してもサンプルが見当たらなかったので、ブログを書き込むサンプルをメモとして公開しておく。

準備

Google Blogger API v3.0はNuGetからインストールします。

コード

using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using Google.Apis.Blogger;
using Google.Apis.Blogger.v3;
using Google.Apis.Blogger.v3.Data;
//...
    static void Main(string[] args)
    {
       // OAuth 認証を行う
        UserCredential credential;
        using (var stream = new FileStream("client_id.json", FileMode.Open, FileAccess.Read))
        {
            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    new[] { BloggerService.Scope.Blogger },
                    "user", CancellationToken.None);
        }

       // Bloggerのインスタンスを取得
        BloggerService service = new BloggerService(new BaseClientService.Initializer()
        { HttpClientInitializer = credential, ApplicationName = "Blogger Convert" });

       // Blogの一覧を取得
       var blogList = service.Blogs.ListByUser("self").Execute();

      // Blogに新しいエントリを作成する
       var newPost = new Post();
       newPost.Title = "blog title";
       newPost.Content = "blog body text
"; newPost.Published = DateTime.Prase("2016-01-01 12:00"); var updPost = service.Posts.Insert(newPost, blogList.Items[0].Id).Execute(); //...

ちなみにバグがあってブログのラベルを設定することは出来ない。もう随分長いこと放置されているので、修正の見込はないと思っておこう。
画像データをアップロードする機能は見当たらない。おそらくはPicasaと連携しろって事なのだとも思うけど・・・Picasaって2016年5月にサービス終了するんだよな。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です