2012-02-15 24 views
18

Tôi đang cố gắng triển khai chức năng phân trang luồng (nguồn cấp dữ liệu tin tức) cho ứng dụng của mình, nhưng nó không hoạt động như mong đợi. Tôi tìm thấy nhiều câu hỏi tương tự ở đây nhưng không có giải pháp để giải quyết vấn đề này.Phân trang không hoạt động và có thể tôi đã tìm ra nguyên nhân

Tôi đã thử cả API đồ thị và FQL và hành vi tương tự. Nó thành công để có được kết quả một hoặc hai lần nhưng sau đó, nó không nhận được kết quả (lấy mảng JSON trống).

Cuối cùng, tôi thấy vấn đề này tùy thuộc vào access_token. Nếu tôi chỉ thay đổi mã nguồn để sử dụng ID ứng dụng mẫu SDK Android SDK thay vì ID ứng dụng của riêng tôi để xác thực, nó hoạt động hoàn hảo.

Vì vậy, tôi tin rằng máy chủ facebook kiểm tra ID ứng dụng và trả về một số lạ hoặc bị giới hạn access_token cho ứng dụng của tôi.

Có điều kiện nào để nhận được access_token hợp lệ không? Tôi đã thử các quyền tương tự chính xác với ứng dụng ví dụ về Android SDK Stream nhưng không thể giải quyết được sự cố.

Tôi muốn chia sẻ thông tin này với bất kỳ ai đang gặp phải vấn đề tương tự và kiểm tra xem việc thay đổi ID ứng dụng (để nhận được access_token hợp lệ) sẽ giải quyết trường hợp của bạn hay không.

+0

Bạn có thể cung cấp một số mã mẫu mà bạn đang sử dụng vào phút này không? –

+0

Ứng dụng của bạn yêu cầu quyền nào? –

Trả lời

0

Mã thông báo truy cập được máy chủ Facebook trả về chỉ hợp lệ trong một khoảng thời gian cụ thể. Sau đó u cần phải làm mới mã thông báo truy cập của bạn, đó là một công việc tẻ nhạt. Vì vậy, để tránh việc này, hãy giữ mã thông báo & của bạn, bạn cần thêm quyền "offline_access" vào danh sách quyền của mình. Đây là phương pháp được sử dụng bởi hầu hết các ứng dụng liên quan đến FaceBook.

0

Sử dụng SDK Facebook cho Android. Nó có thể được tìm thấy here. Có các phương thức getter và setter để nhận và thiết lập mã thông báo truy cập. Lần đầu tiên bạn thực hiện đăng nhập một lần (SSO), bạn phải lưu mã thông báo truy cập trong SharedPreferences và không cần phải xác thực lại lần nữa. Chỉ cần đặt mã thông báo truy cập từ tùy chọn của bạn và thực hiện cuộc gọi đến feed dialog. Quyền truy cập offline_access không được dùng nữa. Các sdk facebook cho android hiện phần còn lại của công việc. Chỉ cung cấp đủ thông số thông qua Gói.

0

Một vài điều trên Android:

  • có được quyền hạn "read_stream"
  • Sử dụng SDK Android
  • Kiểm tra mẫu đi kèm w/android. Trong onCreate(), tôi xác nhận Facebook đối tượng

    this.facebook.authorize (this, DialogListener mới() {....}

  • thử nghiệm sử dụng Graph API Explorer của Facebook.

Nếu bạn dán mã nào đó, tôi có thể giúp bạn gỡ lỗi thêm

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