贴图库开放平台接口使用
2015-02-02 22:23
190 查看
之前喜欢都是使用的七牛作为网站图片外链,后来需要做一个图片墙的应用,图片的数量激增,考虑七牛的每月10g流量可能不太够用,于是转而寻找其他图片外链。
后来选择了贴图库,号称无限空间,无限流量,看起来很不错。但实际使用起来问题在于上传的图片生成的外链url中的文件名是随机生成的,像很多相册一样,不是很方便管理。
用七牛的时候都是,直接url+图片名的,所以代码里很容易就将所有外链写到页面上,而贴图库的外链地址无法做到。还好提供了API。
不过文档实例使用的是PHP, 我站点使用的Python,就仿照着写了一下,测试下没什么问题了,主要用于获取图片名和外链url的对应关系。
下面贴出代码
后来选择了贴图库,号称无限空间,无限流量,看起来很不错。但实际使用起来问题在于上传的图片生成的外链url中的文件名是随机生成的,像很多相册一样,不是很方便管理。
用七牛的时候都是,直接url+图片名的,所以代码里很容易就将所有外链写到页面上,而贴图库的外链地址无法做到。还好提供了API。
不过文档实例使用的是PHP, 我站点使用的Python,就仿照着写了一下,测试下没什么问题了,主要用于获取图片名和外链url的对应关系。
下面贴出代码
# -*- coding: utf-8 -*- import time import urllib import urllib2 import json import base64 import hmac import hashlib ## 从贴图库(tietuku.com)相册获取图片 ##获取相册信息API #tmp_params={ "deadline": deadline, "action": "get", "uid":1} #url="http://api.tietuku.com/v1/Album" ##秘钥 AccessKey = '' SecretKey = '' ##预设变量,也可通过相册API获取 album_id = 1; album_pages = 1; result = "" for page in range(1,album_pages+1): ##请求参数和URL deadline = int(time.time())+ 60 tmp_params={ "deadline": deadline, "action": "album", "aid":album_id, "page_no":page} url="http://api.tietuku.com/v1/List" ##请求参数与秘钥生成Token jsoncode = json.dumps(tmp_params) encodedParam = base64.b64encode(jsoncode) sign = hmac.new(SecretKey, encodedParam, digestmod=hashlib.sha1).hexdigest() encodedSign = base64.b64encode(sign) Token = AccessKey + ':' + encodedSign + ':' + encodedParam ##发送http请求 parameters = {"Token": Token} data = urllib.urlencode(parameters) request=urllib2.Request(url,data) response=urllib2.urlopen(request) res_data = response.read() res_dict=json.loads(res_data) for e in res_dict["pic"]: result = result + e["name"]+" : "+"\""+e["linkurl"]+"\"" +",\n" print result
相关文章推荐
- 使用structs2开源框架+tomcat开源服务+mysql开源数据库+微信开放接口构建考务信息推送平台
- 科大讯飞开放平台——语音听写接口的使用
- 天翼开放平台免费短信验证码接口使用实例
- 科大讯飞开放平台——语音听写接口的使用
- 百度定制化图像开放平台使用--调用识别接口(python3代码)
- 使用OLAMI自然语言开放平台提供的API接口制作自己的语音助手
- 天翼开放平台免费短信验证码接口使用实例
- [转]企业呼吁微信开放公众平台接口 挖掘服务潜力
- 大型游戏开放平台对redis v2.0.4使用感悟点滴
- qq开放平台接口
- ASP.NET 调用 新浪微博开放平台API 接口的操作
- [开发手记] 人人网开放平台不使用表单上传照片
- Facebook开放平台学习 - 对token失效或者某个接口权限么有授权的处理
- 使用百度baidu开放搜索平台
- 微信开放平台- 使用 入门篇
- 微信开放平台接口java版
- (五)OpenCV提供一个功能强大的UI接口,可以在MFC、Qt、WinForms、Cocoa等平台下使用
- air 新浪开放平台 登录部分接口案例
- 服务器代码未执行完,接口返回501错误,导致通过开放平台的微博经常重复
- 开放平台对外接口参数验证