先日、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月にサービス終了するんだよな。