Record / Server Side
PHPにて Bluesky API 投稿
potibm/phlueskyライブラリを使用すると、PHPで簡単にBlueskyに投稿することができます。メンション、リンク、ハッシュタグを解析し、投稿に追加することができるので、よりリッチなコンテンツをBlueskyに投稿することができます
Composerから potibm/phluesky をインストール
まず、Composerを使用してpotibm/phlueskyライブラリをインストールします。以下のコマンドを実行します。
2024-05-24 にバージョン0.4.0が公開され、ハッシュタグなどが解析できるようになったようです。
実際のコード(メンション、リンク、ハッシュタグを解析)
APIの設定
BlueskyApiクラスを使用して、BlueskyのAPIエンドポイントとAPIキーを設定します。ここで、'nick.bsky.social'はBlueskyのユーザー名、'abcd-efgh-ijkl-mnop'はAPIキーです。
サービスの作成
BlueskyPostServiceクラスをインスタンス化し、BlueskyApiオブジェクトを渡します。このサービスを使用して投稿を作成し、Blueskyに送信します。
投稿の作成
Post::createメソッドを使用して、新しい投稿を作成します。ここでは、メンション、リンク、ハッシュタグを含むテキストを設定しています。
メンション、リンク、ハッシュタグの解析
BlueskyPostServiceのaddFacetsFromMentionsAndLinksAndTagsメソッドを使用して、投稿テキスト内のメンション、リンク、およびハッシュタグを解析し、投稿に追加します。これにより、Blueskyに正しくメンションやリンク、ハッシュタグが表示されます。
投稿の実行
BlueskyApiのcreateRecordメソッドを使用して、投稿をBlueskyに送信します。このメソッドは投稿の内容をAPIに送信し、レスポンスを返します。レスポンスには投稿の詳細情報が含まれます。
画像の追加
Blueskyに画像を投稿することもできます。addImageメソッドを使用し、画像を投稿に追加します。
画像は外部のサーバーにあるものではだめ?
Bluesky APIでは、画像は直接アップロードされる必要があり、外部のURLから直接リンクすることはサポートされていません。そのため、投稿に含めたい画像は、サーバー上のローカルファイルとして扱う必要があります。
ウェブサイトカードの埋め込み
addWebsiteCardメソッドを使用して、外部のウェブサイトリンクをカード形式で投稿に埋め込むこともできます。以下のコード例を参照してください。
まとめ
potibm/phlueskyライブラリを使用すると、PHPで簡単にBlueskyに投稿することができます。メンション、リンク、ハッシュタグを解析し、投稿に追加することができるので、よりリッチなコンテンツをBlueskyに投稿することができます。