我正在尝试生成使用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
这样做的正确方法是什么