Ich weiß, es ist in der Regel eine schlechte Idee, aber ich denke, für meine Aufgabe sollte es in Ordnung sein. Ich muss mich mit mehreren Facebook-Seiten beschäftigen, jeder hat sein eigenes Zugangstoken. Abhängig von der Wahl des Benutzers rufe ich den Facebook-Graph auf, um Einsichten für diese bestimmte Seite zu erhalten.Konvertieren Sie eine Python-Zeichenfolge in Variable
Mein Code:
#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+'')
Ich speichere alle Tokens in einer separaten Datei, sie geheim zu halten:
token_pagename1 = 'TOKEN1'
token_pagename2 = 'TOKEN2'
Was ich token_pagename1
in meine requests.get
wenn der Benutzer weitergeben wollen, ist wählt "Seitenname1" aus einer voreingestellten Liste von Namen.
konstruiere ich eine neue Zeichenfolge basierend auf der Eingabe des Benutzers:
page_token = 'token' + '_' + page_name
Aber jetzt brauche ich token
diese Zeichenfolge in einen Variablennamen zu konvertieren. Ich habe versucht, vars()[page_token]
statt token
zu verwenden, aber ich erhalte einen KeyError von requests.get
.
Kann jemand eine elegante Lösung für mein Problem vorschlagen? Vielen Dank!
warum also nicht nur ein Wörterbuch benutzen? 'Token = {'Seitenname1': 'TOKEN1', # ...}'? Dann brauchst du nur noch 'tokens [Seitenname]' und schon bist du fertig. –
Danke! Alles funktioniert jetzt gut. – aviss