@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
blueskyAPIが処理されなくなったので、対応を行った話.
2025.01.06
おはようございます.今日から仕事始めの方も多いはず自分もそんな感じです.さてblueskyAPIが処理されなくなったので対応を行った話を書いていきます.ブルースカイの独自処理が上手く処理されなくなったのでその対応を行っていました.今まで公式に落ちているPHP言語のライブラリーを使用していたんだけど、レンタルサーバーの環境が変わった関係により処理がされなくなったので、自前のAPI処理を他のエンジニアが公開されているコードを参考にしてカード板自動投稿を作りました.
ソースコードは下記になります.
public function cardPost($text, $imagePath = null, $link = null)
{
$imageUri = $imagePath ? $this->uploadImage($imagePath) : null;
$record = [
"\$type" => "app.bsky.feed.post",
"text" => $text,
"createdAt" => Carbon::now()->format('c'),
];
if ($imageUri && $link) {
$record['embed'] = [
"\$type" => "app.bsky.embed.external",
"external" => [
"uri" => $link,
"title" => $text,
"description" => $text,
"thumb" => $imageUri
]
];
}
$ch = curl_init("https://bsky.social/xrpc/com.atproto.repo.createRecord");
curl_setopt_array($ch, [
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: Bearer {$this->jwt}",
],
CURLOPT_POSTFIELDS => json_encode([
"repo" => $this->handle,
"collection" => "app.bsky.feed.post",
"record" => $record,
]),
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
これでカード型のポストが出来ます.参考にしたサイトはこちらの@ma7ma7pipipiさんのソースコードになります.そのコードにカード型のコードを追加した形になります.
https://qiita.com/ma7ma7pipipi/items/bf7fda65ee71c873c70a
一からコードを書かないで良かったのでとても助かりました.感謝ですね😌、ありがとうございます.
明日へ続く
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, エンジニア, カード型, カード板自動投稿, コード, ソースコード, ライブラリー, レンタルサーバー, 下記, 仕事始め, 公式, 処理, 参考, 多いはず自分, 形, 感謝, 環境, 自前, 言語,