gpt4 book ai didi

python - Tumblr API 发布到辅助博客

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:31 31 4
gpt4 key购买 nike

我正在尝试使用 Tumblr API 向我的辅助博客发布内容。我正在使用Tumblpy Python 包因为official Tumblr client仅适用于 Python 2,无论如何它似乎都被放弃了。

我授权了该应用程序,我查看了 Tumblr console我从哪里拿到了所有 key 。我开始尝试它,我注意到我可以成功发布到我的主要博客,但不能成功发布到辅助博客(收到 {TumblpyError} 404 'There was an error make your request.' error all时间)。

这是我一直在尝试的代码:

from tumblpy import Tumblpy


def post_tumblr(
url,
comment='',
tags='',
**kwargs
):
t = Tumblpy(
APP_KEY, APP_SECRET,
OAUTH_TOKEN, OAUTH_TOKEN_SECRET
)

blog_url = t.post('user/info')
blog_url = blog_url['user']['blogs'][0]['url'] # POSTING TO PRIMARY BLOG WORKS
# blog_url = blog_url['user']['blogs'][1]['url'] # CANNOT POST TO SECONDARY BLOG?

post_url = t.post(
'post',
blog_url=blog_url,
params={
'type': 'video',
'embed': url,
'caption': comment,
'tags': tags,
}
)

return True

在 Tumblr API 中发布到辅助博客有什么问题吗?

最佳答案

这是一个有趣的事情。首先要注意的是,在 Tumblr API 中,任何 blog.url 都是完整的 url,包括方案:http://https:///。但是,在任何 /blog/{blog-identifier}/* API 请求中,它接受完整的网址,仅接受主机名:example.comdemo.tumblr.com

鉴于此信息,您的请求似乎都不起作用,因此我稍微检查了 Tumblpy 的代码。事实证明,Tumblpy 确实接受 {blog-identifier} 的完整 URL,方法是去掉除主机名之外的所有内容。但是,它仅适用于 http:// url,不适用于 https:// url,如 here 所示。 .

如果您的博客启用了 SSL,则 url 字段将是 https:// 链接,然后 Tumblpy 将无法正确处理它。我假设您的辅助博客就是这种情况;您可以查看您的settings page对于那个博客。

假设是这种情况,最好的解决方法是在调用 Tumblpy.post() 之前自行构造主机名。只需使用user.blogs[i].name +“.tumblr.com”。或者,您也可以从 url 解析主机名。任何一种方法都可以。

关于python - Tumblr API 发布到辅助博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652533/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com