2011-10-10 27 views
8


Android Facebook app: access token hết hạn (expires_in) luôn luôn là 0

Tôi đang phát triển một ứng dụng mà sử dụng tích hợp facebook. Tôi đang cố gắng để nhận được access_token và expires_in thẻ từ các lớp thư viện facebook. Một khi tôi đăng nhập tôi nhận được access_token một cách chính xác nhưng tôi luôn luôn nhận được expires_in token luôn luôn 0. Và do đó tôi isSessionValid() phương pháp luôn luôn trả về false. Vui lòng cho tôi biết nếu có ai gặp vấn đề này và giải quyết nó.

Mã của tôi chạy hoàn toàn tốt khi tôi không cài đặt ứng dụng Facebook trong trình mô phỏng. Tôi nhận được webview và tôi có thể đăng nhập và cập nhật trạng thái. Nhưng khi tôi cài đặt ứng dụng Facebook, nhấp vào tùy chọn menu trạng thái cập nhật mở ứng dụng Facebook, tôi được chuyển hướng đến trang quyền và sau đó tôi nhận được thông báo lỗi "Không thể nhận mã thông báo truy cập". Đây là lỗi do mã expires_in là 0.

tôi không muốn yêu cầu người dùng của ứng dụng gỡ cài đặt ứng dụng Facebook nếu họ đã cài đặt. vui lòng cho tôi giải pháp cho vấn đề này.

Cảm ơn,
Punit

+0

nếu bạn đặt quyền 'offline_access', hết hạn mã thông báo là 0 –

+0

Tôi đã sử dụng 'offline_access' ban đầu. Bây giờ tôi đã lấy nó đi, tôi vẫn nhận được expires_in là 0. Liệu sự thay đổi trong các quyền mất một thời gian để phản ánh? – Gadenkan

+2

Có hoạt động. Tôi đã phải đăng nhập vào facebook và thu hồi quyền 'offline_access' để làm cho nó hoạt động. Cảm ơn rất nhiều @ adil-soomro – Gadenkan

Trả lời

14

Nếu bạn đặt phép offline_access, khi hết hạn thẻ là 0.

Đối với bất kỳ ai khác có vấn đề này (nếu bạn đã đặt offline_access phép và sau đó loại bỏ) làm theo các bước sau:

  • Chuyển đến cài đặt hồ sơ facebook của bạn và xóa ứng dụng của bạn.
  • và sau đó đăng nhập lại.
  • Cấp quyền cho ứng dụng của bạn một lần nữa.

Hoặc bạn có thể làm điều này:

  • Tới thiết lập hồ sơ cá nhân facebook của bạn> Ứng dụng>Your_App và loại bỏ "Truy cập dữ liệu của tôi bất cứ lúc nào" được phép.
  • Lưu thay đổi được thực hiện.
  • Chạy lại Your_App (tức là không có quyền số offline_access).
+0

Cảm ơn, điều này tôi đã tìm :) Nhưng khi tôi sử dụng facebook sdk với truy cập dữ liệu của tôi bất cứ lúc nào nó đã làm việc tốt với Android 2.1 trở lên cho đến android 4.0, vấn đề này tôi đã thấy chỉ sau Android 4.0 và cao hơn – Zoombie

0

Các bạn đã đề cập Hash chính trong ứng dụng mà bạn đã tạo trên facebook? Nếu không, hãy tạo một cái hợp lệ và đề cập đến nó. Điều này thường xảy ra vì các tính năng cập nhật mới của facebook, Tuy nhiên, các phiên bản cũ của facebook hoạt động tốt mỗi lần. Bạn có thể kiểm tra điều này bằng cách gỡ cài đặt các bản cập nhật trên ứng dụng facebook của bạn và chạy mã của bạn. Nó vẫn hoạt động tốt. Tìm hiểu thêm từ here

+0

Tôi đã sử dụng một Hash Key hợp lệ. Và Gỡ cài đặt bản cập nhật không giúp ích gì. – Gadenkan

+0

Tôi nhận được access_token chính xác. Tôi chỉ nhận được expires_in là 0. Tôi muốn biết làm thế nào để có được giá trị expires_in chính xác. – Gadenkan

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