簡體   English   中英

如何在OAuth 2.0中使用fb_exchange_token來增加訪問令牌的到期時間

[英]How to increase access token expiry time using fb_exchange_token with OAuth 2.0

我正在使用FB.login登錄我網站上的Facebook,並且可以正常工作。

我可以輕松獲取帶有response.AuthResponse.accessToken的accessToken。

會議有效期為2個小時。 我從閱讀的書中了解到,使用fb_exchange_token可以將其延長至30天或60天(我不確定,我看到了這兩個數字)。

問題1:這在JavaScript中可行嗎? 我是否需要提供應用程序密碼(我不想在Javascript中這樣做,因為每個人都可以訪問它)? 有人可以提供一個代碼片段來做到這一點嗎?

我的計划是使用ajax將新獲取的擴展令牌發送到PHP,然后將其用於我正在進行的PHP FQL調用。 目前我正在做:

$facebook = new Facebook(array('appId' => $app_id,'secret' => $app_secret));

$fql = 'SELECT first_name, last_name, movies, tv, FROM user WHERE uid =' . $uid;

$param = array('method' => 'fql.query','query' => $fql,'callback' => '');

$fqlResult = $facebook->api($param);

問題2:這可能是一個新手問題,但是如何在上面的PHP代碼中使用ajax發送的新訪問令牌? 目前,我沒有明確使用訪問令牌,並且一切正常(直到2個小時到期)。

在此先感謝您的幫助,

瑞吉斯

當您從Facebook獲得訪問令牌時,應將其發送回服務器,然后可以在其中進行擴展,而不必擔心暴露您的應用密鑰和機密。

在服務器上獲得訪問令牌后,可以使用以下方法將其添加到Facebook庫。

$facebook->setAccessToken($access_token)

您進行的所有api調用都將以登錄用戶的身份執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM