{"id":21508496,"url":"https://github.com/manglaneso/blueskyapi","last_synced_at":"2026-02-11T02:09:50.033Z","repository":{"id":264347552,"uuid":"893056779","full_name":"manglaneso/BlueSkyAPI","owner":"manglaneso","description":"BlueSky API integration for Google Apps Script ","archived":false,"fork":false,"pushed_at":"2024-11-23T16:26:03.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T10:44:04.066Z","etag":null,"topics":["atproto","bluesky","bluesky-api","google-apps-script","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manglaneso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-23T12:22:51.000Z","updated_at":"2024-11-23T16:26:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d7e8f3c-9eed-4b46-b687-c09a5f850900","html_url":"https://github.com/manglaneso/BlueSkyAPI","commit_stats":null,"previous_names":["manglaneso/blueskyapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/manglaneso/BlueSkyAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manglaneso%2FBlueSkyAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manglaneso%2FBlueSkyAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manglaneso%2FBlueSkyAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manglaneso%2FBlueSkyAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manglaneso","download_url":"https://codeload.github.com/manglaneso/BlueSkyAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manglaneso%2FBlueSkyAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266923038,"owners_count":24006996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atproto","bluesky","bluesky-api","google-apps-script","javascript"],"created_at":"2024-11-23T21:05:32.127Z","updated_at":"2026-02-11T02:09:50.006Z","avatar_url":"https://github.com/manglaneso.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlueSkyAPI\n\nBlueSky API integration for Google Apps Script\n\n### DISCLAIMER\n\nThis is a very early version of the library with a little number of the methods listed in the [AT Protocol XRPC API](https://docs.bsky.app/docs/api/at-protocol-xrpc-api) implemented. Contributions are appreciated!\n\n\n### Inspiration\n\nInspiration for this comes from Bradley Momberger's [Twitterlib](https://github.com/airhadoken/twitter-lib) which unfortunately stopped working since Twitter (or X I guess) decided to shut down the v1 Twitter API for non-Enterprise developers, and since I wanter to give Mastodon a try, I wanted some Twitter bots I implemented to live on somewhere else.\n\n### Use\n\nClick the + after Libraries, paste in 1CZLW7OUPIgrr0oblfsNQ5ir-k1sF8jVryUeRj4fb1WoOom-OTSciVq96 (the project key for this script), and add in BlueSkyAPI and select its latest version.\n\nCreate a BlueSky app password in your BlueSky PDS and create a BlueSkyAPI object passing the URL and video service URL of your PDS, your BlueSky handle and your app password.\n\n```javascript\nlet bluesky = BlueSkyAPI.init(serviceUrl, accessToken, identifier, password);\n```\n\nAfter that, with the created BlueSkyAPI object you can start using the different methods:\n\n```javascript\n\n// Upload a video\nlet uploadMediaInit = bluesky.uploadVideo(videoBlob);\n// Get the status of the media upload\nlet getMedia = bluesky.getJobStatus(jobId, exp);\n// Publish a record with the uploaded video attached\nlet record = bluesky.createVideoRecord(\"\", blobLink, mimeType, altMessage, length, width, height, [\"en\"]);\n// Publish a record with an uploaded image attached\nlet record = bluesky.createImageRecord(text, imageLink, mimeType, alt, size);\n// Publish a text record\nlet record =  bluesky.createRecord(text, langs);\n// Upload a blob\nlet upload = bluesky.uploadBlob(blob);\n// List all your records\nlet upload = bluesky.listRecords();\n// Delete a record\nlet deletedRecord = bluesky.deleteRecord(collection, rkey);\n```\n\n### Example of use\n\nYou can find an example of use in the [following repo](https://github.com/manglaneso/oraleputosbot/blob/main/src/BlueSkyTriggerService.js).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanglaneso%2Fblueskyapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanglaneso%2Fblueskyapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanglaneso%2Fblueskyapi/lists"}