Đây có lẽ là một câu hỏi rất câm, nhưng tôi đã nhìn chằm chằm vào điều này hàng giờ và không thể tìm thấy những gì tôi đang làm sai."Thiếu tham số redirect_uri" phản hồi từ Facebook với Python/Django
Tôi đang cố gắng sử dụng Python để xác thực với API Facebook, nhưng có vấn đề yêu cầu mã thông báo truy cập của người dùng. Sau khi nhận được một mã số, tôi thực hiện một yêu cầu đến https://graph.facebook.com/oauth/access_token như vậy:
conn = httplib.HTTPSConnection("graph.facebook.com")
params = urllib.urlencode({'redirect_uri':request.build_absolute_uri(reverse('some_app.views.home')),
'client_id':apis.Facebook.app_id,
'client_secret':apis.Facebook.app_secret,
'code':code})
conn.request("GET", "/oauth/access_token", params)
response = conn.getresponse()
response_body = response.read()
Để đáp lại, tôi nhận được
{ "lỗi": { "message": "Thiếu thông số redirect_uri"," nhập ":" OAuthException "," code ": 191}}
Bất kỳ ý tưởng nào có thể xảy ra sai? Tôi đã xác minh rằng redirect_uri đang được chuyển trên miền ứng dụng, nhưng có thể là vấn đề đang được lưu trữ cục bộ và miền đó chỉ được chuyển hướng đến máy chủ cục bộ bởi tệp máy chủ của tôi?
Cảm ơn sự giúp đỡ của bạn!
chỉnh sửa:
tôi đã làm việc này bằng cách sử dụng thư viện yêu cầu:
params = {'redirect_uri':request.build_absolute_uri(reverse('profiles.views.fb_signup')),
'client_id':apis.Facebook.app_id,
'client_secret':apis.Facebook.app_secret,
'code':code}
r = requests.get("https://graph.facebook.com/oauth/access_token",params=params)
Tuy nhiên, tôi vẫn muốn trở thành phụ thuộc vào một thư viện khi điều này cần được hỗ trợ natively mà không cần quá nhiều khó khăn. Có lẽ đây là đòi hỏi quá nhiều ...
Nếu localhost bạn được thiết lập một cách chính xác cần làm việc. Facebook sẽ kiểm tra xem chuyển hướng có hoạt động không? –
Đó là những gì tôi nghĩ. Bất kỳ ý tưởng gì khác có thể đi sai? – user1462558
mmm, trên nhà phát triển facebook, hãy truy cập ứng dụng của bạn. URI chuyển hướng nhanh để khớp với ứng dụng uri –