2013-03-29 26 views
8

Tôi có một ứng dụng làm mới thông tin ứng dụng Facebook tại một thời điểm, giả sử mỗi ngày một lần và viết chúng trong cơ sở dữ liệu. Một số trang mà ứng dụng cố gắng lấy thông tin từ Tuổi bị hạn chế và tình hình trở nên phức tạp.Nhận thông tin với công việc cron trên trang Facebook giới hạn độ tuổi người hâm mộ

Cho đến nay tôi đã tìm thấy rằng một cách để làm điều này là lấy thông tin của trang với access_token của người dùng.

Ex .: https://graph.facebook.com/BrandCigarettes?access_token= {} user_access_token

Nhưng điều đó là không thể kể từ khi ứng dụng nên chạy bản thân mỗi ngày một lần và mã thông báo là thời gian giới hạn (mặc định hai tiếng đồng hồ) và thẻ truy cập ẩn không có sẵn nữa.

Có cách nào để thực hiện việc này không?

+0

Bạn có thể mở rộng mã thông báo ngắn đến 60 ngày, https://developers.facebook.com/roadmap/offline-access-removal/ – CBroe

Trả lời

1

Mã thông thường thường hết hạn sau hai giờ, nhưng với mã thông báo ngắn trực tiếp đó, bạn có thể yêu cầu mã thông báo dài mới, mã thông báo này sẽ có thời lượng 60 ngày.

Sau khi bạn nhận được rằng bạn chỉ cần lưu user_id và mã thông báo mở rộng tương ứng trên cơ sở dữ liệu của bạn, vì vậy nếu bạn chỉ muốn nhận một số thông tin của một số trang bạn không cần làm điều đó cho mọi người dùng ứng dụng của bạn , bạn chỉ cần làm cho chính mình, bạn có thể tạo một khu vực riêng trên ứng dụng của bạn, nơi bạn đi 59 ngày một lần chỉ để gia hạn mã thông báo.

Để trao đổi thẻ truy cập ngắn ngủi của mình cho một con đường dài chỉ làm một yêu cầu đến graph API

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

Về câu hỏi này là câu trả lời chấp nhận giải thích làm thế nào để làm điều đó mà không sử dụng C# facebook sdk

Feed Offline Access

Như CBroe nhận xét, tôi cũng khuyên bạn nên đọc tài liệu facebook về thẻ mở rộng

https://developers.facebook.com/roadmap/offline-access-removal/

+0

Cảm ơn câu trả lời của bạn. Nhưng vấn đề vẫn còn, tôi cần các ứng dụng để làm việc cho chính nó. Bằng cách này, nếu tôi thay đổi quyền trên tài khoản của mình, hãy thay đổi mật khẩu hoặc sau 60 ngày, tôi sẽ cần cung cấp mã thông báo truy cập mới. – Pece

+1

Rất tiếc vì đã cho bạn tin xấu, nhưng đây là cách duy nhất. Đối với mọi yêu cầu đối với api biểu đồ, bạn cần mã thông báo truy cập hợp lệ và 60 ngày là mã thông báo tối đa tồn tại. Nếu vấn đề là beacause chaning mật khẩu tài khoản, hoặc cho phép, tại sao bạn không tạo ra một "giả" tài khoản juts cho mục đích? –

+0

Vâng, tôi đã nghĩ về điều đó và đó là một số giải pháp, nhưng nó vẫn phải cung cấp mã thông báo truy cập mới trong 60 ngày. Điều gì đó mà tôi đang cố tránh. – Pece