2010-06-07 50 views
5

Tôi mới đến OAuth và tôi đang cố gắng sử dụng Facebook Connect với ứng dụng web của mình.Sử dụng Facebook OAuth 2.0 - Làm cách nào để tìm nạp mã thông báo truy cập?

Tôi đã cố gắng nhận mã xác minh, nhưng sự cố của tôi là "tìm nạp" mã thông báo truy cập. Làm cách nào để tìm nạp? Các tài liệu Facebook nói với tôi để lấy thẻ truy cập với URL này:

https://graph.facebook.com/oauth/access_token?' 
       + 'client_id=XXXXXXXXXXXX& redirect_uri=http://www.mysite.com/fbconn/index.html&display=touch&' 
       + 'client_secret=axxxxxcxxxxxxxxxxx&code=' + code; 

Khi tôi sử dụng này tôi thấy các thẻ truy cập vào một trang trống, nhưng tôi muốn lấy nó với JavaScript (Ajax), PHP hoặc một cái gì đó . Điều này có thể không? Tôi nghĩ mã thông báo truy cập sẽ được gắn vào URI chuyển hướng của tôi như mã xác minh, nhưng tôi chưa bao giờ được chuyển hướng đến trang của mình. Tôi đang làm gì sai?

+0

được PHP file_get_contents con đường để đi có lẽ? –

Trả lời

6

Bạn cần thêm &type=user_agent vào yêu cầu. Bạn sẽ nhận được AuthToken với một điểm đánh dấu băm theo định dạng sau.

http://yourredirecturi#code=[accesstoken] 

Nếu bạn đặt yêu cầu &type=web_server, bạn sẽ nhận được authToken như một tham số chuỗi truy vấn: http://yourredirecturi&code=[accesstoken].

Dưới đây là giải thích đầy đủ về cách triển khai giao thức OAuth của Facebook. Các mẫu mã trong ASP.NET MVC, nhưng nó nên dịch cũng đủ để bất kỳ ngôn ngữ:

Facebook Platform's OAuth 2.0 Protocol and ASP.NET MVC

+0

Cảm ơn bạn Amir, điều đó đã giúp !! –

+1

Tôi rất ngạc nhiên khi tham số 'loại' không được ghi trên [trang trợ giúp xác thực chính thức] (http://developers.facebook.com/docs/authentication/). Tôi đã dành một vài ngày, cố gắng tìm hiểu cách xử lý mã thông báo truy cập nhận được trong một đoạn URI ở phía máy chủ, và nếu không phải câu trả lời của bạn, tôi đã chi tiêu nhiều hơn nữa! Cảm ơn một tấn! – jFrenetic

-5
$token = file_get_contents("the access token URL"); 

sẽ cung cấp cho bạn các thẻ truy cập.

+0

u sir, là vị cứu tinh của tôi – p0larBoy

+7

-1 Url mã thông báo truy cập là gì? Câu trả lời khủng khiếp, rất mơ hồ. – Petrogad

2

Hãy thử đoạn mã PHP sau đây để nhận thẻ truy cập của bạn:

//Fill in the parts in caps with your app details 
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_YOU_GOT_FROM_THE_SERVER"; 

$token=file_get_contents($token_url); //Fetching the token from the URL 

echo $token; //This is your access token 

Cảm ơn,

+0

là mã cuối cùng = ACCESS_TOKEN_CODE? – sbaaaang

Các vấn đề liên quan