使用Instagram API
2011 2 18 01:16 PM 0条评论 907次查看 0顶 0踩
分类:笔记 标签:API, instagram, python
有兴趣可以去这里注册 http://instagr.am/developer/ 。可能会有一个审核激活的过程,大约要几天的时间。
完成后会收到一封邮件,然后就能登录查看文档了。但这个文档似乎暂时并不是很丰富,因为我没找到用于上传的api。
这里主要写了一些使用上的注意事项。
1、外链图片
GET http://instagr.am/p/{shortcode}/media
它接受一个参数size,t表示缩略图 m表示中等, l表示最大,默认为m。
假设有链接 http://instagr.am/p/BSJRn/ 则可以:
<img src="http://instagr.am/p/BSJRn/media?size=m" />效果:2、shortcode 转换成 media-id
shortcode 就是 http://instagr.am/p/BSJRn/ 里边的 'BSJRn'
截止目前,我在那个文档中并没有找到有关如何将shortcode 转化成 media-id 的描述。但是通过一些猜测和验证,很容易就会得出正确的算法。
很简单,实际上shortcode就是一个64进制数字,解码的过程就是64进制转化成10进制的过程。
代码:
#A代表0,B代表1,..., _代表63
_chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'
_chars_num=len(_chars)
def deshortcode(t):
t=str(t)
n,i=0,len(t)-1
for c in t:
if c not in _chars: return 0
n+=(_chars.index(c)*pow(_chars_num, i))
i-=1
return n
print deshortcode('BSJRn')
# 215337993、参数中的 redirect_uri 必须与注册中的 CALLBACK URL 相同
这一点是跟Twitter API 不同的地方,在注册Twitter客户端时,那个CALLBACK URL可以随便写;而Instagram 则必须跟注册时的相同,否则会硬邦邦的告诉你这样不行。
你可以点击 这里 可以注册一个 Instagram 客户端,不过你必须首先通过之前所说的那个验证才行。
4、验证过程比Twitter API简单得多
不用什么OAuth库,也不用什么参数签名(大概这就是OAuth2.0吧?)。直接通过https获得access_token,然后用这个access_token就可以做任何事情了。特别简单。文档中都有描述这里不多说了。 More