備忘録

備忘録

C#でMastodonにポストする方法

Ⅰ. はじめに

タイトルの通り「C#Mastodonにポストする方法」です

Ⅱ. 手順

1. Mastonetをインストールする
dotnet add package Mastonet --version 2.3.1
1. サンプルプログラムを書く
using Mastonet;
using Newtonsoft.Json;

var instance = "mastodon.social";
var mailAddress = "user001@example.com";
var password = "my_perfect_p@ssword";
var appName = "app_name001";

var authenticationClient = new AuthenticationClient(instance);
var appRegistration =  await authenticationClient.CreateApp(appName, Scope.Read | Scope.Write | Scope.Follow);
Console.WriteLine(appRegistration.ClientId);
Console.WriteLine(appRegistration.ClientSecret);

// 2回目以降はClientId, ClientSecretを使い回す。新規アプリを作成しない。
//var appRegistration = new AppRegistration
//{
//    Instance = instance,
//    ClientId = "...",
//    ClientSecret = "...",
//    Scope = Scope.Read | Scope.Write | Scope.Follow
//};
//var authenticationClient = new AuthenticationClient(appRegistration);

var auth = await authenticationClient.ConnectWithPassword(mailAddress, password);
Console.WriteLine(JsonConvert.SerializeObject(auth));

var mastodonClient = new MastodonClient(instance, auth.AccessToken);
await mastodonClient.PublishStatus("あいうえお");

実行結果