DIYgod / RSSHub

🧡 Everything is RSSible
https://docs.rsshub.app
MIT License
33.58k stars 7.51k forks source link

Use the official API for thread route #16910

Open DIYgod opened 1 month ago

DIYgod commented 1 month ago

Routes

/threads/:user/:routeParams?

Full routes

/threads/diygod

Related documentation

https://docs.rsshub.app/routes/popular#threads

What is expected?

Expected to be accessible normally

What is actually happening?

The currently used Web API has very strict rate limits, making it almost unusable. However, the official API provided for third-party applications can be used instead. https://developers.facebook.com/docs/threads/threads-media#retrieve-a-list-of-all-a-user-s-threads

Deployment information

RSSHub demo (https://rsshub.app)

Deployment information (for self-hosted)

No response

Additional info

FetchError: [GET] "https://www.threads.net/@diygod": <no response> Number of requests reached it's maximum 500
FetchError: [POST] "https://www.threads.net/ajax/bulk-route-definitions/": 429 Too Many Requests

This is not a duplicated issue

github-actions[bot] commented 1 month ago
Searching for maintainers:

To maintainers: if you are not willing to be disturbed, list your username in scripts/workflow/test-issue/call-maintainer.js. In this way, your username will be wrapped in an inline code block when tagged so you will not be notified.

If all routes can not be found, the issue will be closed automatically. Please use NOROUTE for a route-irrelevant issue or leave a comment if it is a mistake. 如果所有路由都无法匹配,issue 将会被自动关闭。如果 issue 和路由无关,请使用 NOROUTE 关键词,或者留下评论。我们会重新审核。

pseudoyu commented 1 month ago

ok working on it

AiraNadih commented 2 weeks ago

Any progress?

pseudoyu commented 2 weeks ago

the Threads API seems to be not work as we expected.

CleanShot 2024-10-29 at 14 41 46@2x

The access token requires login (refer to https://blog.nevinpjohn.in/posts/threads-api-public-authentication/) and it currently only supports operations (either post or fetch) for the authenticated user's own content.

When we want to query others' contents

{
  "message": "Unsupported get request. Object with ID 'zuck' does not exist, cannot be loaded due to missing permissions, or does not support this operation"
}

I'm still working on other possible solutions .