2016-05-30 119 views
0

我无法弄清楚如何从页面获取fan_count。 我总是得到这个错误python facebook-sdk fan_count问题

Traceback (most recent call last): 
    File "./facebook_api.py", line 37, in <module> 
facebook_graph.get_object('somepublicpage')['fan_count'] 
KeyError: 'fan_count' 

的对象仅包含ID /名称,我无法弄清楚如何才能得到“fan_count”数据给予更多的权限。

这里是我使用的代码:

import facebook 
import urllib 
import urlparse 
import subprocess 
import warnings 


warnings.filterwarnings('ignore', category=DeprecationWarning) 


oauth_args = dict(client_id = FACEBOOK_APP_ID, 
       client_secret = FACEBOOK_APP_SECRET, 
       grant_type = 'client_credentials') 
oauth_curl_cmd = ['curl', 
       'https://graph.facebook.com/oauth/access_token?' +  urllib.urlencode(oauth_args)] 
oauth_response = subprocess.Popen(oauth_curl_cmd, 
           stdout = subprocess.PIPE, 
           stderr = subprocess.PIPE).communicate()[0] 

try: 
    oauth_access_token = urlparse.parse_qs(str(oauth_response))['access_token'][0] 
except KeyError: 
    print('Unable to grab an access token!') 
exit() 

print oauth_access_token 
facebook_graph = facebook.GraphAPI(oauth_access_token) 
print facebook_graph.get_object(PROFILE_ID)['fan_count'] 

回答

1

由于图形API的V2.4,你必须指定你想获得返回的字段。这将是正确的API调用:

/{page-id}?fields=name,fan_count

它被称为 “声明域”。

+0

谢谢!有用! –