You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Mastodon.py登录Pixelfed实例?

问题描述
  • 已通过Mastodon.py使用用户名/密码成功连接Mastodon实例,但实际需要连接Pixelfed实例
  • 根据Pixelfed官方文档,其API连接方式与Mastodon类似,但仅支持Personal Token或OAuth2认证方式
  • 因仅需向个人Pixelfed账号批量上传图片,无需OAuth2流程,尝试了用户名/密码、用户名+Personal Token两种连接方式,均触发认证报错
  • 执行登录操作时出现以下报错:
api.log_in("fabiocosta0305@gmail.com","<password>",scopes=['read','write','follow','push'])

Traceback (most recent call last):
  File "/home/s192199488/.local/lib/python3.10/site-packages/mastodon/authentication.py", line 322, in log_in
    response = self.__api_request('POST', '/oauth/token', params, do_ratelimiting=False)
  File "/home/s192199488/.local/lib/python3.10/site-packages/mastodon/internals.py", line 299, in __api_request
    raise ex_type('Mastodon API returned error', response_object.status_code, response_object.reason, error_msg)
mastodon.errors.MastodonUnauthorizedError: ('Mastodon API returned error', 401, 'Unauthorized', 'invalid_client')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/s192199488/.local/lib/python3.10/site-packages/mastodon/authentication.py", line 328, in log_in
    raise MastodonIllegalArgumentError('Invalid user name, password, or redirect_uris: %s' % e)
mastodon.errors.MastodonIllegalArgumentError: Invalid user name, password, or redirect_uris: ('Mastodon API returned error', 401, 'Unauthorized', 'invalid_client')
解决建议

1. 采用Personal Token直接初始化连接

Pixelfed不支持用户名/密码直接登录(这是报错的核心原因),必须使用Personal Token完成认证:

  • 登录Pixelfed网页端,进入「设置」→「应用」,创建新的Personal Token,勾选所需权限(仅上传图片的话,勾选write即可)
  • 初始化Mastodon对象时直接传入Token,无需调用log_in方法:
from mastodon import Mastodon

# 替换为你的Pixelfed实例地址和Personal Token
api = Mastodon(
    access_token="你的Personal Token字符串",
    api_base_url="https://你的Pixelfed实例域名"
)

# 测试图片上传
media_obj = api.media_post("/path/to/your/image.jpg")
# 发布带图动态
api.status_post("测试上传", media_ids=[media_obj])

2. 验证关键参数正确性

  • 确认api_base_url是Pixelfed实例的完整根域名(比如https://pixelfed.social,不要添加/api等后缀)
  • 检查Personal Token的权限是否包含write,权限不足会导致上传失败

3. 排查Token有效性

  • 重新生成Personal Token,避免复制时出现空格、截断或字符错误
  • 确保Pixelfed账号状态正常,无限制或封禁情况,能正常在网页端发布内容

内容的提问来源于stack exchange,提问作者HufflepuffBR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:12:30