[bluesky:likes] use 'repo.listRecords' endpoint (#7194 #7287)

requires one additional API request per post,
but allows accessing likes of all users without login
and avoids the infinite loop at the end of 'getActorLikes'

add 'endpoint' option
This commit is contained in:
Mike Fährmann
2025-04-15 21:57:17 +02:00
parent 48053cf3ec
commit 481ad1c206
4 changed files with 91 additions and 8 deletions

View File

@@ -1591,6 +1591,28 @@ Description
It is possible to use ``"all"`` instead of listing all values separately.
extractor.bluesky.likes.endpoint
--------------------------------
Type
``string``
Default
``"listRecords"``
Description
API endpoint to use for retrieving liked posts.
``"listRecords"``
| Use the results from
`com.atproto.repo.listRecords <https://docs.bsky.app/docs/api/com-atproto-repo-list-records>`__
| Requires no login and alows accessing likes of all users,
but uses one request to
`getPostThread <https://docs.bsky.app/docs/api/app-bsky-feed-get-post-thread>`__
per post,
``"getActorLikes"``
| Use the results from
`app.bsky.feed.getActorLikes <https://docs.bsky.app/docs/api/app-bsky-feed-get-actor-likes>`__
| Requires login and only allows accessing your own likes.
extractor.bluesky.metadata
--------------------------
Type
@@ -1613,6 +1635,8 @@ Description
extractor.bluesky.post.depth
----------------------------
extractor.bluesky.likes.depth
-----------------------------
Type
``integer``
Default

View File

@@ -153,6 +153,10 @@
"reposts" : false,
"videos" : true,
"likes": {
"depth" : 0,
"endpoint": "listRecords"
},
"post": {
"depth": 0
}