我使用PyImgur文档中的代码:
import pyimgur
CLIENT_ID = "xxx"
PATH = "image.jpg"
im = pyimgur.Imgur(CLIENT_ID)
uploaded_image = im.upload_image(PATH, title="Uploaded with PyImgur")
print(uploaded_image.title)
print(uploaded_image.link)
print(uploaded_image.size)
print(uploaded_image.type)
但它没有出现在我的画廊里
问题是所有API如何工作(不仅仅是
imgur API
)CLIENT_ID
允许访问API,但只能作为匿名用户访问具有相同
CLIENT_ID
的程序可由不同的用户使用(不仅仅是您),每个用户都必须允许访问其数据第一个程序必须生成到
imgur.com
的特殊URL(我不确定它是否需要CLIENT_SECRET
)接下来,您必须在web浏览器中打开此URL,它将要求您登录到
imgur.com
,它可能会询问您是否允许此程序访问您的数据。如果您允许,它将显示带有唯一编号pin
的页面,您必须在程序中使用该编号然后程序将有权访问您的数据,它可以上传到您的帐户-直到您关闭程序
这还为您提供了
access_token
(就像一个数字中的登录名和密码一样),在重新启动程序后,该程序可以用来访问您的数据-因此您不必再次登录到imgur.com
并复制pin
出于安全原因
access_token
在60分钟后过期,因此您还可以得到refresh_token
(永不过期),该程序必须每60分钟使用一次来生成新的access_token
现在它将上传图像到您的帐户后重新启动程序
最小工作代码
我使用
try/except
从文件中加载access_token
,refresh_token
,或者打开网页为pin
生成access_token
,refresh_token
。我在GoogleAPI的一些示例中看到了这个方法(但它使用pickle
将令牌保存在文件中)此操作将图像添加到用户帐户,但我无法添加到所选相册。有
upload_image(..., album=...)
但它需要相册的ID,而不是它的名称。使用im.search_gallery(query)
我甚至可以得到相册的ID,但我总是得到一个错误,即我无法更改相册中的信息,该相册位于gallery中编辑:
此代码将图像添加到您的帐户中,您可以获取其链接并通过邮件、消息或在某个论坛上放置链接将此链接发送给其他人,或者使用它在您自己的网页上显示图像
。。。但这并没有在Imgur的主页上发送它-它没有
"share to community"
你必须加上
然后人们可以在Imgur's main page上看到它并投票
我在上面的代码中添加了这一行
PyImgur源代码:Image.submit_to_gallery(),Album.submit_to_gallery()
当您允许您的程序访问您的数据时,您应该在
Apps Used
中看到您的程序,并且您可以使用revoke access
来禁止程序访问您的数据我使用
Client ID
作为我的应用程序furas-imgur
,因此在允许访问我的数据后,我在Apps Used
中看到furas-imgur
相关问题 更多 >
编程相关推荐