2012-01-24 41 views
5

Xin chào những người đam mê Android, tôi đang đấu tranh để tìm giải pháp cho vấn đề này. Tôi đang lên kế hoạch truy cập vào Lịch Google và Google Documents của người dùng, (sử dụng google-api-java-client-v1.6.0). Tôi có thể truy cập tài khoản Google của người dùng thông qua Trình quản lý tài khoản nhưng tôi không nhầm lẫn khi yêu cầu authToken xác thực người dùng vì lý do này:tự động truy cập tài khoản google duy nhất cho nhiều API dữ liệu của Google trong Android

Làm cách nào để xử lý nhiều yêu cầu authToken cho Tài liệu và Cal trong một Hoạt động khi người dùng xác nhận ứng dụng để truy cập Tài khoản Google của anh ấy?

Trong ứng dụng của tôi, Google Tài liệu và Cal đang ở trên các tab khác nhau chạy trên nền người dùng thời điểm cho phép truy cập tài khoản của người dùng.

mọi hướng dẫn liên kết sẽ được đánh giá cao.

TYIA.

Trả lời

2

Nếu tôi diễn giải chính xác, bạn đang tự hỏi cách xử lý sự thật là bạn cần một authToken cho Lịch và một authToken cho Tài liệu?

Nhìn vào một số sample code for using the client libraries, có thể giúp bạn làm điều gì đó như thế này:

private final static String CAL_AUTH_TOKEN_TYPE = "cl"; 
private final static String DOCS_AUTH_TOKEN_TYPE = "writely"; // Not sure this is correct 

// This will ask the user for permissions the first time 
Bundle docsBundle = manager.getAuthToken(account, DOCS_AUTH_TOKEN_TYPE, true, null, null); 
Bundle calBundle = manager.getAuthToken(account, CAL_AUTH_TOKEN_TYPE, true, null, null); 

// Do whatever syncing you need 
doWork(docsBundle, calBundle); 

Khi bạn làm điều này lần đầu tiên, người dùng sẽ nhận một popup yêu cầu truy cập vào Lịch của mình. Sau khi được phê duyệt, một cửa sổ bật lên khác sẽ xuất hiện yêu cầu quyền đối với Tài liệu. Sau khi được chấp thuận, cửa sổ bật lên sẽ không bao giờ xuất hiện nữa (trừ khi người dùng có thể cài đặt lại ứng dụng của bạn). Vì vậy, tôi không nghĩ rằng bạn cần phải lo lắng về bất cứ điều gì. Chỉ cần chắc chắn rằng bạn cố gắng để có được authTokens lần đầu tiên trong thread UI của bạn và không phải trong một quá trình nền. Trong quá trình nền, cửa sổ bật lên sẽ không xuất hiện.

+0

cảm ơn bạn đã chia sẻ thông tin chi tiết của mình, tôi sẽ làm cho đoạn mã này hoạt động – Ben

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