マップライブラリオープンプラットフォームインタフェースの使用

1940 ワード

以前は7牛をウェブサイトのピクチャーの外チェーンとして使うのが好きで、それから1つのピクチャーの壁の応用をする必要があって、ピクチャーの数は急増して、7牛の毎月の10 gの流量があまり足りないかもしれないことを考えて、そこで他のピクチャーの外チェーンを探します.
その後、無限空間、無限流量と称してライブラリを貼ることを選び、とてもよく見えました.しかし、実際に使用する問題は、アップロードされた画像で生成された外部チェーン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"]+"\"" +",
" print result