0

私はこのコードを持っています:

if 'instagramTV' in path:
    self.send_response(200)
    instaShortcode, LTV, EMAIL, TIME, userID, URL  = map(\
    qs.get, ['instaID', 'channelID', 'uEmail', 'Time', 'uID', 'contentUrl'])

    channelID, uEmail, instagramShortcode, uTime, uID, contentUrl = map(\
    lambda x : str(x)[2:-2], [LTV, EMAIL, instaShortcode, TIME, userID, URL])

    for i in (channelID, uEmail, instagramShortcode, uTime, uID, contentUrl):
        print i
    instaSTEP2 = requests.get("http://api.instagram.com/oembed?url=http://instagr.am/p/%s/"% instagramShortcode).json()
    instaMeID = instaSTEP2['media_id']
    instaINFO = requests.get("https://api.instagram.com/v1/media/%s?accesstoken=295391286.1b882b8.33fa51373fae4885b5c60ceb186e6560" % instaMeID).json()
    print instaINFO['data']['user']['profile_picture']
    print instaINFO['data']['user']['username']
    print instaINFO['data']['caption']['text']
    print instaINFO['data']['images']['standard_resolution']['url']
    ltvMSG = {'fromEMAIL': 'uEmail', 'toCHANNELID': 'channelID', 'timeSENT': 'uTime', 'profiePIC': "instaINFO['data']['user']['profile_picture']",'userNAME': "instaINFO['data']['user']['username']", 'msgBODY': "instaINFO['data']['caption']['text']", 'msgIMAGE': "instaINFO['data']['images']['standard_resolution']['url']"}
    print ltvMSG

最初の変数は http get リクエストから取得され、次にこれらの変数のいくつかを使用して API 呼び出しを行い、次にいくつかの json を取得します。

get リクエストからの初期変数のいくつかと、API 呼び出しからのいくつかの値を、最終的には redis リストに入る自分の dict/json に入れようとしています。

print ltvMSG はこれを返します:

{'userNAME': "instaINFO['data']['user']['username']", 'timeSENT': 'uTime', 'msgIMAGE': "instaINFO['data']['images']['standard_resolution']['url']", 'msgBODY': "instaINFO['data']['caption']['text']", 'fromEMAIL': 'uEmail', 'toCHANNELID': 'channelID', 'profilePIC': "instaINFO['data']['user']['profile_picture']"}

これは私が望む構造ですが、実際の値をキーの値として表示するにはどうすればよいですか。

4

1 に答える 1

1

あなたがしているのは、それらの文字列リテラルを辞書に追加することです。したがって、代わりに:

     loqootvMSG = {'fromEMAIL': 'uEmail', 'toCHANNELID': 'channelID', 'timeSENT': 'uTime', 'profilePIC': "instaINFO['data']['user']['profile_picture']",'userNAME': "instaINFO['data']['user']['username']", 'msgBODY': "instaINFO['data']['caption']['text']", 'msgIMAGE': "instaINFO['data']['images']['standard_resolution']['url']"}

あなたがやる:

     loqootvMSG = {'fromEMAIL': uEmail, 'toCHANNELID': channelID, 'timeSENT': uTime, 'profilePIC': instaINFO['data']['user']['profile_picture'],'userNAME': instaINFO['data']['user']['username'], 'msgBODY': instaINFO['data']['caption']['text'], 'msgIMAGE': instaINFO['data']['images']['standard_resolution']['url']}

たとえば、uEmail文字列ではなく の値を格納します'uEmail'

于 2013-08-04T16:56:36.510 に答える