Mastodon의 클라이언트 앱을 .NET Core로 만들었습니다.
API도 물론 있고 .NET제의 API 라이브러리도 있었다. @ 카가스 님
glacasa/Mastonet: C# Library for Mastodon htps // t. 코 / BwR9 응 1 qbd — ♣ ♥ ♠ ♦🍍 (@kagasu) 2017년 4월 12일
에서 시도에이 "무s와. 뿌리 T"를 사용하여 mastodon.cloud 연방? 타임라인을 표시할 만큼의 콘솔 앱을 만들어 보았다.
API는 매우 간단하며 다음과 같은 간단한 코드로 TOOT 스트리밍 수신이 가능합니다.
static async void RunAsync(string email, string password)
{
var instanceUrl = "mastodon.cloud";
// MastodonClient.CreateApp で得たものを保存しとく必要があるけど面倒だから UnitTest(MastodonClientTests)のを使わせてもらった
//var appRegistration = await MastodonClient.CreateApp(instanceUrl, "MastoConsoleStandard", Scope.Read);
var appRegistration = new AppRegistration
{
ClientId = "ぎっはぶをみてね",
ClientSecret = "ぎっはぶをみてね"
};
var client = new MastodonClient(instanceUrl, appRegistration);
var auth = await client.Connect(email, password);
var streaming = client.GetPublicStreaming();
// Register events
streaming.OnUpdate += (_, e) =>
{
Console.WriteLine("--");
Console.WriteLine($"{e.Status.CreatedAt.ToLocalTime().ToString()} - {e.Status.Account.AccountName}:");
Console.WriteLine(e.Status.Content);
};
// Start streaming
streaming.Start();
}
앱은 먼저 mastodon의 인스턴스에
MastodonClient.CreateApp
로 "앱 등록"하여 AppRegistration
를 얻을 필요가 있다.이것은 실제로는
ClientId
와 ClientSecret
로, 한 번 등록하면 저장해 사용한다.mastodon 의 디폴트의 구현에서는, 특별히 제한없이 곧바로 리스폰스가 되돌아 오는데, 코드를 변경해 인스턴스 관리자의 승인제등으로 할 수도 있을 것이다.
그리고 앱의 등록은 mastodon 의 인스턴스마다 실시해야 하기 때문에, 예를 들어 현재 나돌고 있는 클라이언트 앱은, mastodon.cloud 에서는 사용할 수 있지만 mstdn.jp 에서는 사용할 수 없다, 라고 하는 일도 있다.
「앱을 인스턴스에 등록하는」구조까지 갖춘 클라이언트 앱도 작성 가능하고, 아마로 q 포르 마스와 덮밥라는 앱은 그 하나라고 말해줘..
mastodon의 사용자는 인스턴스마다 다르므로, 그 인스턴스로 만든 email/password로
connect
한다.그리고는,
OnUpdate
로 스트림을 수신해 두고, Start
하면 된다.Masto.NET이 .NET Standard를 지원하므로 .NET Standard 실행 환경,
Mac/Linux의 경우 .NET Core가 설치된 환경에서 작동합니다.
적절하게 책무 분할된 Twitter 클라이언트라면, 그렇게 번거롭게 mastodon 클라이언트 앱이 될 수 있을지도.
전술한 바와 같이 복수 인스턴스 대응은 필요하지만. 앱이 해당 인스턴스와
ClientId
및 ClientSecret
를 저장하기 위해 서버 측 (mBaaS)이 필요하다고 생각합니다.일단 저도 계정을 만들었습니다 → h tps : // 마스와 돈. cぉうd/@아마 y077
mstdn.jp에도 만들었지만, 메인은 이쪽으로. 열심히 하는 사람은 응원하고 싶다 해 응원한 .
Reference
이 문제에 관하여(Mastodon의 클라이언트 앱을 .NET Core로 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/amay077/items/862d3228ac090be1d4fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)