我有一个数据列表,如下所示-
product-0
product-1
product-10
product-100
product-1000
product-10000
product-100000但是数据可以超过100个。
我想对facebook的图形api进行api调用。调用如下所示-
fb_graph_url = api_endpoint+product_catalog_id+"/products?fields=image_url,retailer_id,id&filter={'or':[{'retailer_id':{'eq':'product-0'}},{'retailer_id':{'eq':'product-1'}}]}&access_token="+access_token正如您在api调用中看到的,product-0和product-1是上述列表中的数据。
为了在一个调用中获得所有数据,我在api调用中使用了filter。
我想让json看起来像[{'retailer_id':{'eq':'product-0'}},{'retailer_id':{'eq':'product-1'}}]。现在它只包含两个产品。我想用上面所有的列表数据来调用这个api。
请帮帮忙。
发布于 2017-01-12 09:53:00
我在以下函数的帮助下解决了我的问题-
def call_fb_api(ids):
api_endpoint = "https://graph.facebook.com/v2.8/"
filter_param = "filter={'retailer_id':{'is_any':[" + ','.join("'{0}'".format(w.strip()) for w in ids) + "]}}"
fields_param = "fields=image_url,retailer_id"
limit_param = "limit=1000"
token_param = "access_token=" + access_token
fb_graph_url = api_endpoint + product_catalog_id + "/products?" + limit_param + "&" + fields_param + "&" + filter_param + "&" + token_param
response = requests.get(fb_graph_url).json()
return response['data'] 感谢大家的帮助。
https://stackoverflow.com/questions/41585434
复制相似问题