Python:如何在使用urllib发出请求之前登录facebook

时间:2014-09-22 09:39:29

标签: python facebook facebook-graph-api

我正在尝试生成使用Facebook Ads API的授权码。有关生成授权码的详细信息,请参见here

我需要经常生成此代码,因此我计划以编程方式执行此操作。请求的URL在用户首次请求时打开一个对话框。在后续请求中,不会显示该对话框,并且用户将被重定向到URL中存在所需代码的另一个页面。

所以,我的问题是:如何登录Facebook并获取重定向到的页面的URL。

我写了以下方法:

def facebook_login():
    username = raw_input("Username:")
    password = getpass.getpass()
    requests.get('https://facebook.com', auth=HTTPBasicAuth(username, password))


def generate_auth_code():
    url = ("").join([BASE_URL,"/dialog/oauth?client_id=",APP_ID,"&redirect_uri=",APP_URL,"&scope=ads_management"])
    facebook_login()
    response = urllib.urlopen(url)
    print response.geturl()

但我得到以下输出:

https://www.facebook.com/login.php?skip_api_login=1&api_key=APP_ID&signed_next=1&next=https%3A%2F%2Fwww.facebook.com%2Fv2.1%2Fdialog%2Foauth%3Fredirect_uri%3Dhttp%253A%252F%252FMY_APP_URL%252F%26scope%3Dads_management%26client_id%CLIENT_ID%26ret%3Dlogin&cancel_uri=http%3A%2F%2FMY_APP_URL%2F%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%23_%3D_&display=page

这样做的正确方法是什么

0 个答案:

没有答案