如何创建一个帐户,并使用该帐户使用 imgur 上传图片
How to create an account, and upload an image with that account with imgur
我正在设计一个python GUI,它的功能之一是截图,上传到Imgur,然后得到URL。尽管我在理解文档时遇到问题(特别是因为它说您需要通过 API 创建一个帐户,但没有说明如何创建。)。谁能解释一下如何创建一个帐户然后使用它上传图片?
注意:我正在使用 PIL 来获取屏幕截图,我希望您将其解释为使用请求库或 curl 编写的代码(因为使用请求移动到 python 并不难),并且我将只在程序中保存刷新令牌,因为它是硬编码的(但用户可以更改它)并且我不希望用户进行身份验证。
提前致谢。
编辑 1:另外,我不会使用 imgurpython,因为它已经过时了。
您将需要使用 Imgur API,您可以从
here:
从他们的站点获得 API 密钥后,您就可以开始编写一些代码了。
首先你必须在 Imgur 上创建普通帐户。
登录普通账户后,您可以前往https://api.imgur.com/oauth2/addclient注册应用程序。
需要应用名称和邮箱。授权类型取决于您将如何使用它。
你应该得到 API 把钥匙
可以与 API
一起使用
获取信息:
import requests
headers = {
'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}
#https://i.imgur.com/cvWgXFc.jpg
imageHash = 'cvWgXFc'
r = requests.get(f'https://api.imgur.com/3/image/{imageHash}', headers=headers)
print('status:', r.status_code)
data = r.json()
print(data)
print('size:', data['data']['size'])
结果:
status: 200
{'data': {'id': 'cvWgXFc', 'title': None, 'description': None, 'datetime': 1579572289, 'type': 'image/jpeg', 'animated': False, 'width': 506, 'height': 500, 'size': 89341, 'views': 8087, 'bandwidth': 722500667, 'vote': None, 'favorite': False, 'nsfw': False, 'section': None, 'account_url': None, 'account_id': None, 'is_ad': False, 'in_most_viral': False, 'has_sound': False, 'tags': [], 'ad_type': 0, 'ad_url': '', 'edited': '0', 'in_gallery': False, 'link': 'https://i.imgur.com/cvWgXFc.jpg', 'ad_config': {'safeFlags': ['onsfw_mod_safe', 'share', 'page_load'], 'highRiskFlags': [], 'unsafeFlags': ['not_in_gallery', 'sixth_mod_unsafe'], 'wallUnsafeFlags': [], 'showsAds': False}}, 'success': True, 'status': 200}
size: 89341
上传:
import requests
import base64
headers = {
'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}
params = {
'image': base64.b64encode(open('images.png', 'rb').read())
}
r = requests.post(f'https://api.imgur.com/3/image', headers=headers, data=params)
print('status:', r.status_code)
data = r.json()
print(data)
顺便说一句: 您可以在 https://imgur.com/account/settings/apps
上登录后看到您注册的应用程序并重新生成 API 密钥(如果您忘记了)
我正在设计一个python GUI,它的功能之一是截图,上传到Imgur,然后得到URL。尽管我在理解文档时遇到问题(特别是因为它说您需要通过 API 创建一个帐户,但没有说明如何创建。)。谁能解释一下如何创建一个帐户然后使用它上传图片?
注意:我正在使用 PIL 来获取屏幕截图,我希望您将其解释为使用请求库或 curl 编写的代码(因为使用请求移动到 python 并不难),并且我将只在程序中保存刷新令牌,因为它是硬编码的(但用户可以更改它)并且我不希望用户进行身份验证。
提前致谢。
编辑 1:另外,我不会使用 imgurpython,因为它已经过时了。
您将需要使用 Imgur API,您可以从 here: 从他们的站点获得 API 密钥后,您就可以开始编写一些代码了。
首先你必须在 Imgur 上创建普通帐户。
登录普通账户后,您可以前往https://api.imgur.com/oauth2/addclient注册应用程序。
需要应用名称和邮箱。授权类型取决于您将如何使用它。
你应该得到 API 把钥匙
可以与 API
一起使用获取信息:
import requests
headers = {
'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}
#https://i.imgur.com/cvWgXFc.jpg
imageHash = 'cvWgXFc'
r = requests.get(f'https://api.imgur.com/3/image/{imageHash}', headers=headers)
print('status:', r.status_code)
data = r.json()
print(data)
print('size:', data['data']['size'])
结果:
status: 200
{'data': {'id': 'cvWgXFc', 'title': None, 'description': None, 'datetime': 1579572289, 'type': 'image/jpeg', 'animated': False, 'width': 506, 'height': 500, 'size': 89341, 'views': 8087, 'bandwidth': 722500667, 'vote': None, 'favorite': False, 'nsfw': False, 'section': None, 'account_url': None, 'account_id': None, 'is_ad': False, 'in_most_viral': False, 'has_sound': False, 'tags': [], 'ad_type': 0, 'ad_url': '', 'edited': '0', 'in_gallery': False, 'link': 'https://i.imgur.com/cvWgXFc.jpg', 'ad_config': {'safeFlags': ['onsfw_mod_safe', 'share', 'page_load'], 'highRiskFlags': [], 'unsafeFlags': ['not_in_gallery', 'sixth_mod_unsafe'], 'wallUnsafeFlags': [], 'showsAds': False}}, 'success': True, 'status': 200}
size: 89341
上传:
import requests
import base64
headers = {
'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}
params = {
'image': base64.b64encode(open('images.png', 'rb').read())
}
r = requests.post(f'https://api.imgur.com/3/image', headers=headers, data=params)
print('status:', r.status_code)
data = r.json()
print(data)
顺便说一句: 您可以在 https://imgur.com/account/settings/apps
上登录后看到您注册的应用程序并重新生成 API 密钥(如果您忘记了)