-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluesky Social (Independent Publisher) #3706
Open
krautrocker
wants to merge
44
commits into
microsoft:dev
Choose a base branch
from
krautrocker:bluesky-social-connector
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+11,072
−0
Open
Changes from all commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
521eed6
Add Bluesky API (Independent Publisher) connector files
krautrocker bc3b017
Updated swagger file to include default responses and added .gitignore
krautrocker dcb205c
- Updated connector title and description to jive with standards
krautrocker ea3bcd3
- Updated security definitions to Basic, not API Key
krautrocker c7d86e5
- Added new paths
krautrocker 062b2a9
- Added new path to get hydrated feed
krautrocker cfe930b
- Added more paths
krautrocker 14b5e64
Revert "- Updated security definitions to Basic, not API Key"
krautrocker 1d0cb18
- Added more endpoints
krautrocker fba5fbd
- Added additional endpoints
krautrocker 7015781
- Updated readme.md
krautrocker 69c23c1
- Added admin endpoints
krautrocker 2a2bb7b
- Doc format
krautrocker ed4fd72
- Changed basic auth to bearer token auth
krautrocker 2fdf7d2
- Overhaul after convo with Troy Taylor
krautrocker b790d0b
- Change contact email, placed in readme
krautrocker bc0f316
- Adjusted endpoints as per paconn validator
krautrocker 129109d
- Further updates to conform
krautrocker 7fcf495
- Updated title to remove a forbidden word
krautrocker 0cc10e5
- Resolved all errors via paconn validate in swagger file
krautrocker faade2e
- Swagger refinement
krautrocker 0511135
- Additional endpoints
krautrocker a72638e
- Removed file
krautrocker 8d565f5
- Initial commit for Bluesky Control Panel (temporary name) to includ…
krautrocker 7fe621f
- WOOF
krautrocker 78ed38e
- Endpoints added
krautrocker 46822f1
Remove unnecessary .gitignore files
krautrocker 82a7798
- Updated endpoints
krautrocker 2d70bbf
Delete .gitignore
krautrocker df5e4a5
- Additional endpoints for app.bsky, pre-paconn validation
krautrocker aab0104
- Added additional endpoints
krautrocker 0e5a75f
Merge branch 'bluesky-social-connector' of https://github.com/krautro…
krautrocker 7fa02a7
- Updated operation Ids to start with an upper-case letter
krautrocker daa0a09
- Updated folder name, IP not required in folder only PR title
krautrocker 8edf66f
- Updated readme to include additional endpoints
krautrocker 387d7a7
- Updated readme
krautrocker 4698652
- Authentication update, OAuth no dice
krautrocker 76d7c3a
- Fixed security definitions
krautrocker 921ed14
- Updated apiProperties
krautrocker 2209852
- Further update to apiProperties
krautrocker f8c8b7c
- Re-factored all endpoints. They should match the API docs + GitHub …
krautrocker 9876ee0
- Added additional endpoints.
krautrocker 682bb39
- Added additional endpoints.
krautrocker d852b8d
- Futzed around with the multipart/form-data endpoints - uploadVideo,…
krautrocker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
136 changes: 136 additions & 0 deletions
136
independent-publisher-connectors/Bluesky Social/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
# Bluesky API Connector | ||
|
||
- **This custom connector allows Power Platform apps to interact with Bluesky's API, supporting operations for managing feeds, conversations, notifications, video uploads, and account data. | ||
|
||
## Supported Endpoints | ||
|
||
- **To use this connector, you will need: | ||
|
||
- **A Bluesky account. | ||
- **API access to Bluesky with App Password. | ||
|
||
## Obtaining Credentials | ||
|
||
- **Go to the Bluesky Developer Portal. | ||
- **Register your App Password in Settings. | ||
|
||
## Supported Operations | ||
|
||
- **This connector includes the following operations: | ||
|
||
### Feed Endpoints | ||
|
||
- **GET /app.bsky.feed.getTimeline — Retrieve a user's timeline posts. | ||
- **GET /app.bsky.feed.getFeed — Retrieve posts from a specific feed or tag. | ||
- **GET /app.bsky.feed.searchPosts — Search for posts matching a query. | ||
- **GET /app.bsky.feed.getActorFeeds — Retrieve feeds posted by a specific actor. | ||
- **GET /app.bsky.feed.getActorLikes — Retrieve posts liked by a specific actor. | ||
- **GET /app.bsky.feed.getAuthorFeed — Retrieve posts from a specific author's feed. | ||
- **GET /app.bsky.feed.getFeedGenerator — Retrieve a generated feed for a user. | ||
- **GET /app.bsky.feed.getFeedGenerators — Retrieve metadata about all feed generators. | ||
- **GET /app.bsky.feed.getFeedSkeleton — Retrieve a minimal skeletal version of a feed. | ||
- **GET /app.bsky.feed.getListFeed — Retrieve posts from a specific list. | ||
- **GET /app.bsky.feed.getPosts — Retrieve a list of specific posts by their IDs. | ||
- **GET /app.bsky.feed.getPostThread — Retrieve the thread of posts related to a specific post. | ||
- **GET /app.bsky.feed.getLikes — Retrieve users who liked a specific post. | ||
- **GET /app.bsky.feed.getQuotes — Retrieve posts that quote a specific post. | ||
- **GET /app.bsky.feed.getRepostedBy — Retrieve users who reposted a specific post. | ||
- **GET /app.bsky.feed.getSuggestedFeeds — Retrieve suggested feeds for the user. | ||
- **POST /app.bsky.feed.sendInteractions — Send interactions (like or repost) for a post. | ||
|
||
### Actor Endpoints | ||
|
||
- **GET /app.bsky.actor.getPreferences — Retrieve the user's preferences. | ||
- **GET /app.bsky.actor.getProfile — Retrieve the profile of a specific user. | ||
- **GET /app.bsky.actor.getProfiles — Retrieve multiple user profiles. | ||
- **GET /app.bsky.actor.getSuggestions — Retrieve account suggestions for the user. | ||
- **POST /app.bsky.actor.putPreferences — Update the user's preferences. | ||
- **GET /app.bsky.actor.searchActors — Search for user accounts by query. | ||
- **GET /app.bsky.actor.searchActorsTypeahead — Retrieve search suggestions for user accounts. | ||
|
||
### Graph Endpoints | ||
|
||
- **GET /app.bsky.graph.getActorStarterPacks — Retrieve starter packs of accounts for a new user. | ||
- **GET /app.bsky.graph.getKnownFollowers — Get followers known to the authenticated user. | ||
- **GET /app.bsky.graph.getFollowers — Retrieve a list of followers for a user. | ||
- **GET /app.bsky.graph.getFollows — Retrieve users followed by a specific user. | ||
- **GET /app.bsky.graph.getBlocks — Retrieve users blocked by the authenticated user. | ||
- **GET /app.bsky.graph.getList — Retrieve a specific list of users. | ||
- **GET /app.bsky.graph.getLists — Retrieve all lists for the authenticated user. | ||
- **GET /app.bsky.graph.getListBlocks — Retrieve users blocked within a specific list. | ||
- **GET /app.bsky.graph.getListMutes — Retrieve muted lists for the authenticated user. | ||
- **GET /app.bsky.graph.getMutes — Retrieve muted users. | ||
- **GET /app.bsky.graph.getRelationships — Retrieve relationships between the authenticated user and specified accounts. | ||
- **GET /app.bsky.graph.getStarterPack — Retrieve a single starter pack for a new user. | ||
- **GET /app.bsky.graph.getStarterPacks — Retrieve all starter packs for new users. | ||
- **GET /app.bsky.graph.getSuggestedFollowsByActor — Retrieve suggested accounts to follow, filtered by an actor. | ||
- **POST /app.bsky.graph.muteActor — Mute a specific actor. | ||
- **POST /app.bsky.graph.unmuteActor — Unmute a specific actor. | ||
- **POST /app.bsky.graph.muteActorList — Mute a specific list of actors. | ||
- **POST /app.bsky.graph.unmuteActorList — Unmute a specific list of actors. | ||
- **POST /app.bsky.graph.muteThread — Mute an entire thread of posts. | ||
- **POST /app.bsky.graph.unmuteThread — Unmute an entire thread of posts. | ||
|
||
### Labeler Endpoints | ||
|
||
- **GET /app.bsky.labeler.getServices — Retrieve the list of labeler services available to the user. | ||
|
||
### Notification Endpoints | ||
|
||
- **GET /app.bsky.notification.getUnreadCount — Retrieve the count of unread notifications. | ||
- **GET /app.bsky.notification.listNotifications — List notifications for the authenticated user. | ||
- **POST /app.bsky.notification.putPreferences — Update notification preferences. | ||
- **POST /app.bsky.notification.registerPush — Register for push notifications. | ||
- **POST /app.bsky.notification.updateSeen — Mark notifications as seen. | ||
|
||
### Video Endpoints | ||
|
||
- **GET /app.bsky.video.getJobStatus — Retrieve the status of a video upload job. | ||
- **GET /app.bsky.video.getUploadLimits — Retrieve the video upload limits for the user. | ||
- **POST /app.bsky.video.uploadVideo — Upload a video file. | ||
|
||
### Unspecced Endpoints | ||
|
||
- **POST /app.bsky.unspecced.uploadBlob — Upload a binary blob to the user's account. | ||
- **GET /app.bsky.unspecced.getBlob — Retrieve a binary blob from the user's account. | ||
|
||
|
||
### Authentication | ||
|
||
- **TBD - In progress | ||
|
||
### How to Use | ||
|
||
- **Each endpoint has specific parameters (such as user IDs, query strings, or result limits) that need to be configured as per the endpoint's requirements. | ||
|
||
- **Authenticate: Start by authenticating with your Bluesky credentials. | ||
- **Choose Endpoint: Select the desired endpoint, such as retrieving a feed or listing notifications. | ||
- **Set Parameters: Provide the required parameters like user IDs, limits, or query strings. | ||
- **Execute Request: Run the request to retrieve data or perform actions within your Power Platform app. | ||
|
||
### Example Use Cases | ||
|
||
- **Retrieve User Feed: Get posts from a user's timeline or feed to display in your app. | ||
- **Search for Posts: Use a search query to find posts matching user input. | ||
- **Manage Mutes and Blocks: Allow users to manage their mutes and blocks efficiently. | ||
- **Send Notifications: Keep users informed with real-time notifications. | ||
- **Upload Media: Allow users to upload and manage videos or blobs directly. | ||
|
||
### Authentication | ||
|
||
#### API Key | ||
|
||
- **The connector requires an API Key for additional validation in all requests. | ||
- **Header: X-Api-Key | ||
- **Description: The Bluesky API Key is generated from your Bluesky account and must be added during connector setup. | ||
|
||
#### Headers | ||
|
||
- **Every API request includes the following headers: | ||
- **Authorization: Contains the OAuth 2.0 Bearer token. | ||
- **X-Api-Key: Contains the Bluesky API key. | ||
|
||
### Contact | ||
|
||
- **[email protected] or [email protected] (original owner) | ||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update readme.md file with all the required fields mentioned in the below link.
https://github.com/microsoft/PowerPlatformConnectors/blob/dev/templates/Independent%20Publisher/readme.md