にしし ふぁくとりー:西村文宏 個人サイト

No.11995 - 今日のひとことログ

更新

■LOG No.11995

にししふぁくとりーHOMEに掲載している「今日のひとこと」の過去ログ(掲載履歴)です。 RSS

No.11995 〔897文字〕

ああ、Blueskyの埋め込み対応は無理だな……。投稿のURLだけでは、埋め込みコードに必要な情報が得られない。
Bluesky上での1つの投稿のURLは https://bsky.app/profile/nishishi.bsky.social/post/3kpyujf4lqi2j のような感じだが、このURLの投稿を埋め込むためには、ここから data-bluesky-uri="at://did:plc:5wiborlzsyqj2msz4j2wx53q/app.bsky.feed.post/3kpyujf4lqi2j" という文字列に変換しないといけないようだ。
投稿IDっぽい末尾の13文字(3kpyujf4lqi2j)はURLから得られるが、ユーザ固有IDである「did:plc」の値(ここでは5wiborlzsyqj2msz4j2wx53q)がURLからは得られない。このdid:plcは、ハンドル(ここではnishishi.bsky.social)を変更しても変わらない、ユーザ固有のIDらしい。そんなのが割り振られている仕様だったのか。
ハンドル名(nishishi.bsky.social)から、固有ID(5wiborlzsyqj2msz4j2wx53q)を得る方法としては、指定のAPIにハンドル名を送るとJSONで固有IDが返ってくる ので、たぶんこれを使うのが良いのだろうけども、PHPなら簡単だけども、Perlでは何らかのモジュール(LWP::UserAgentとか)を使わないと面倒だ。
試しに、ハンドル名のままで要求してみたが、Invalid DID: DID syntax didn't validate via regexと言われるだけで、埋め込みはできなかった。うーむ。なんでハンドル名で埋め込ませてくれないのか。というか、投稿そのものは最後の13文字だけで一意に特定できる仕様ではないのだろうか。なぜユーザIDも指定する必要があるのか?
今更、この機能のためだけに動作必須モジュールを増やすのは望ましくない。
というわけで、諦めよう。┌(:3」└)┐
2024年2月
123
45678910
11121314151617
18192021222324
2526272829
2024年3月
12
3456789
10111213141516
17181920212223
24252627282930
31
2024年4月
123456
78910111213
14151617181920
21222324252627
282930

Powered by てがろぐ Ver 4.5.0

--- 当サイト内を検索 ---