Prompt

Bluesky api でできる事の全ては?
使えるプログラミング言語は?

Bluesky APIは、分散型ソーシャルネットワークであるBlueskyのプラットフォームとプログラムでやり取りするための機能を提供しているよ。開発者がユーザーのデータ所有権を維持しながらソーシャルアプリケーションを構築できるように設計されているんだ。

具体的にできることはこんな感じ!


Bluesky APIでできること ✨

  • 投稿の作成、取得、操作:

    • テキスト投稿(最大300文字、Markdown形式の書式設定やハッシュタグも含む)を作成できる。

    • 画像(JPEG, PNG, GIFなど最大4枚まで)や動画を含む投稿も可能。

    • 投稿にユニークな識別子が付与され、それを使って後から分析したり、返信を管理したりできる。

  • ユーザープロフィールとアカウント情報の管理:

    • ユーザーのプロフィール情報を取得したり、操作したりできる。

    • 分散型識別子(DID)やユーザー名/パスワード認証を使用して、JWTトークンを介してAPIにアクセスする。

  • 他のユーザーのフォローと交流:

    • 他のユーザーをフォローしたり、フォローを解除したり、交流したりできる。

    • ユーザーのフォロワーやフォローリスト、拡張されたネットワーク構造を分析できる。

  • フィードと会話スレッドへのアクセス:

    • パーソナライズされたフィードや会話スレッドにアクセスできる。

    • カスタムフィードを構築するためのアルゴリズムを作成することも可能だよ。

  • モデレーション機能の実装:

    • プラットフォーム上でのモデレーション機能(不適切なコンテンツの報告など)を実装できる。
  • データ分析:

    • アカウントの成長、オーディエンスエンゲージメント、投稿頻度、フォロワー対フォロー比率などの指標を追跡し、分析できる。
  • 多言語対応:

    • 投稿の言語設定も可能で、複数言語の指定もできるよ。

全体的に、Bluesky APIは、ソーシャルメディア管理ツールからデータ分析プラットフォームまで、幅広いアプリケーションを構築できるように設計されているんだ。


使えるプログラミング言語 📚

Bluesky APIは、HTTPベースのRESTful APIに近い形なので、HTTPリクエストを送信できるほとんどのプログラミング言語で利用できるよ。

特に公式やコミュニティでクライアントライブラリやSDKが提供されているのは以下の言語だね。

  • TypeScript / JavaScript:

    • Blueskyの公式クライアントアプリ自体がTypeScriptで書かれたReact Nativeアプリケーションだよ。

    • @atproto/apiなどの公式TypeScriptパッケージが提供されている。

  • Python:

    • atprotoというPythonクライアントライブラリが提供されていて、Bluesky APIとのやり取りが非常に簡単に行える。自動投稿など、多くの例がPythonで示されているよ。
  • Go:

    • Go言語のクライアントライブラリも開発されている。
  • cURL:

    • APIのリファレンスでは、認証や投稿などのAPIコールをcURLコマンドで示していることが多いよ。これは、どの言語からでもHTTPリクエストを構築する際の参考になるね。
  • Dart:

    • コミュニティでatproto.dartパッケージが提供されている。
  • Julia:

    • JuliaコミュニティでもBluesky APIへのアクセス方法が紹介されているね。

これらの言語以外でも、HTTPリクエストを扱える言語(Java, C#, Rubyなど)であれば、自分でAPIクライアントを構築することも可能だよ。


この動画を見ると、Pythonを使ってBluesky APIで自動投稿する方法がよくわかるよ。 Learn How to use the Bluesky Python API in Less than 4 Minutes