2012-06-20 43 views
0

我已閱讀Q &正如在這裏和其他線程瞭解Facebook如何處理offline_access並且我仍然不完全理解它是如何工作的,所以請有人向我解釋。facebook offline_access vs access_token

似乎像Facebook仍然支持客戶端應用程序訪問用戶信息,而無需要求用戶每次登錄。 (例如,如果授權在安裝客戶端應用程序期間至少被用戶授予一次)

啓用所有這些的access_token似乎有點混淆,無法正確理解。

我看到,在c#代碼中,access_token是隻讀屬性,所以客戶端應用程序無法保存和重用,客戶端應用程序必須代表用戶每次向授權服務器(Facebook服務器)請求令牌。然後有人說offline_access(access_token長期使用,過期60天左右)是必要的,有些人說默認access_token(1-2小時)已經足夠好了,你只需要每次都要求。

有人可以澄清,請提供一些C#代碼或鏈接包含代碼?

在此先感謝

回答

0

如果你有offline_access當用戶給你的應用程序的許可選擇,它的意思是返回的access_token有一個長期的生活 - 這意味着你不需要重新發布access_token以代表他們發佈帖子(或其他)。如果沒有offline_access,則每次您希望對其帳戶執行任何操作時,都需要重新發出訪問令牌。

如果你使用2小時access_token,當到期時,用戶需要登錄到Facebook的前新access_token可以發出 - 這意味着你需要將其重定向到Facebook登錄頁面,然後一該令牌將被髮回給您。這是一種不太方便的方法,但是我沒有做任何事情,只是努力嘗試使用offline_access選項

+0

錯誤 - 我的糟糕 - 這更直接針對基於Web的Facebook整合。 – Drew

+0

你解釋什麼適用於桌面應用程序我猜..我不理解的一個成功是,當access_token被授予客戶端應用程序,如果進程不包括log_in ..有一些函數稱爲TryParseOAuthCallbackUrl,並且這個回調函數似乎能夠返回令牌..它不會返回oauthResult,但現在爲空。 –