共有用コードスニペット

@knksm5.final-techblog.com

独自Lexiconを呼べるクライアントの作成

import * as xrpc from "@/api" // apiはlex-cliで生成されたコードのディレクトリ
import { ServiceClient } from "@atproto/xrpc"

export const createClient = (hostname: string) => {
    const baseClient = new xrpc.AtpBaseClient();
    const serviceClient = new ServiceClient(baseClient.xrpc, `https://${hostname}`);
    const atpServiceClient = new xrpc.AtpServiceClient(baseClient, serviceClient);
    return atpServiceClient
}

// 使い方
const client=createClient(/*PDSのホスト名を入れる*/)
client.setHeader("Authorization", `Bearer <createSession結果のaccessJwt>`)
const appViewClient=createClient(/*AppViewのホスト名を入れる*/)
// AppViewに直接新規エントリを通知する
await appViewClient.com.whtwnd.blog.notifyOfNewEntry({ entryUri: blogEntryUri })
// 新規ブログエントリをPDSに作成する
createResult = await client.com.whtwnd.blog.entry.create({ repo: username, collection: "com.whtwnd.blog.entry", validate: false }, blogEntry)

apiディレクトリの構造

knksm5.final-techblog.com
K-NKSM

@knksm5.final-techblog.com

Making a Markdown blog service using atproto which you can use with Bluesky account!
AT Protocolを使い、Blueskyアカウントがあれば使えるMarkdownブログサービス(AppView)を作っています!
WhiteWind https://whtwnd.com/

X / Twitter: @KNKSM5
Blog: https://blog.final-techblog.com/

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)