承接 joeymckenzie/bluesky-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

joeymckenzie/bluesky-php

最新稳定版本:0.1.3

Composer 安装命令:

composer require joeymckenzie/bluesky-php

包简介

A PHP client for the Bluesky API.

README 文档

README

logo packgist downloads tests ci packgist downloads packgist downloads

Bluesky PHP

🚧 This package is still in early development, with no major releases at the moment. Use with precaution!

A Bluesky PHP client compatible with your HTTP client of choice. The goal of this project is to provide a simple, easy-to-use PHP HTTP client to interact with Bluesky's API, providing methods for calling both the authenticated and public endpoints.

Current API coverage status

ℹ️ Current progress: 26/165 endpoints covered

The Bluesky API surface is fairly large, and we'll be doing our best to cover as many of the endpoints as possible to provide a friendly client experience. In terms of currently covered resources:

App namespace

  • Actor
  • Feed
  • Graph
  • Notification
  • Video

Chat namespace

  • Actor
  • Convo
  • moderation

AT Proto

  • Admin
  • Identity
  • Repo
  • Server (only session create/refresh done as of now)
  • Sync

Tools namespace

  • Communication
  • Moderation
  • Server
  • Setters
  • Signature
  • Team

Bluesky PHP in action

<?php

declare(strict_types=1);

use Bluesky\Bluesky;

require_once __DIR__.'/../vendor/autoload.php';

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__.'/../');
$dotenv->load();

// By default, the client assumes we're going to authenticate as a valid user
$username = $_ENV['BLUESKY_USERNAME'];
$password = $_ENV['BLUESKY_PASSWORD'];

// Construct the client using the default builder with no customizations
$client = Bluesky::client($username);

// It's also possible to use the public API as well
$publicApi = Bluesky::publicClient();

// Next, create a new session for the API
$session = $client->newSession($password);
var_dump($session);

$profile = $client->bsky()->actor()->getProfile($username);
var_dump($profile);

// Create a post
$post = $client->bsky()->feed()->post('This post was brought to you by PHP. Working on yet another Bluesky client for PHP, heavily inspired Nuno\'s OpenAI client. Coming to a Packagist feed near you... 🤠');

Getting started

To get started, install Bluesky from Packagist

$ composer install joeymckenzie/bluesky-php

Within your code, instantiate a new instance of the client:

$client = Bluesky::client('username.bsky.social');

// To use the client, you'll need to create a new session that'll grab some JWTs for authentication
$client->newSession('password123');

// Or, build a new client with a session
$clientWithSession = Bluesky::clientWithSession('username.bsky.social', 'password123');

// Or, using the public API client that doesn't require authentication
$publicClient = Bluesky::publicClient(); 

Status

The API surface of Bluesky's API is fairly large encompassing some odd 160ish different endpoints. A complete list can be found within the TODO list, containing simple tracking of endpoints that have been implemented and those yet to be implemented.

Testing

To run tests

$ composer run test

Bluesky PHP uses Pest for testing, where each endpoint contains a test that:

  • Verifies the call as we expect to Bluesky
  • Verifies the properties on the response

You'll find test data within the fixtures folder, container stubs with randomly generated fake data mimicking data received from the API at various endpoints.

统计信息

  • 总下载量: 292
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固