2017-01-14 5 views
-1

私はそれが一般的に悪い考えだと知っていますが、私はそれが大丈夫になるはずです。私は複数のFacebookページに対処しなければならず、それぞれに独自のアクセストークンがあります。ユーザーの選択に応じて、私はFacebookのグラフを呼び出してその特定のページの洞察を得る。pythonの文字列を変数に変換する

マイコード:

token_pagename1 = 'TOKEN1' 
token_pagename2 = 'TOKEN2' 

私は何をしたいことは、私のrequests.get場合、ユーザーにtoken_pagename1を渡すことです:私は秘密のそれらを保つために別のファイル内のすべてのトークンを格納し

#User's input 
date_since = request.form['since'] 
date_until = request.form['until']  
page_name = request.form['page_name'] 
#Call Facebook Graph 
r = requests.get('https://graph.facebook.com/v2.8/'+page_name+'/insights/metric/day?since='+since+'&until='+until+'&access_token='+token+'') 

プリセット名のリストから "pagename1"を選択します。

page_token = 'token' + '_' + page_name 

をしかし、今、私は、変数名tokenにこの文字列を変換する必要があります。

私は、ユーザの入力に基づいて新しい文字列を構築します。 tokenの代わりにvars()[page_token]を使用しようとしましたが、requests.getからKeyErrorを取得しました。

誰も私の問題にエレガントな解決策を提案できますか?ありがとう!

+0

経由ページトークンにアクセスすることができますか? 'tokens = {'pagename1': 'TOKEN1'、#...}'?それであなたが必要とするのは 'トークン(ページネーム)'です。 –

+0

ありがとう!すべて今はうまく動作します。 – aviss

答えて

1

という名前のトークンのリストを変換する:辞書に

token_pagename1 
token_pagename2 

tokens = {} 
tokens['pagename1'] 
tokens['pagename2'] 

は、その後、それはあなたが探しているトークンを見つけるのは簡単です:

tokens[page_requested] 
0

作成辞書

tokens = { 
    'pagename1': 'TOKEN1' 
    'pagename2': 'TOKEN2' 
} 

今、あなたは、なぜ単に辞書を使用しない

tokens['pagename'] 
関連する問題