簡體   English   中英

Facebook PHP SDK使用php獲取訪問令牌

[英]Facebook PHP SDK get access token using php

我使用以下代碼發布到Facebook:

require('facebook.php');

$fb = new Facebook(array('appId' => 'MY APP ID','secret' => 'MY APP SECRET','cookie' => true));

$result = false;
$feed_dir = '/401868882779/feed/';  //to the UID you want to send to
$acToken = "MY ACCESS TOKEN";
$url = 'URL';
$link = $url . 'event.php?id=' . $id;
if (isset($picture))
{
    $picture = $url . 'uploads/' . $picture;
}
else
{
    $picture = $url . 'images/blank100x70.png';
}
$msg_body = array('access_token' => $acToken,'name' => $noe_unsecured,'message' => $link,'link' => $link,'description' => $description_unsecured,'picture' => $picture);

try
{
    $result = $fb->api($feed_dir, 'post', $msg_body);
} 
catch (Exception $e)
{     
        $err_str = $e->getMessage();
}

但我需要在每次更改時手動更新訪問令牌。 我確信有解決方案,但我找不到它..我嘗試了很多腳本,沒有任何效果。

根據您執行牆貼的時間,您可能需要請求offline_access權限。 這會將您的access_token轉換為不會過期的格式,因此無需刷新令牌。

一個簡單的解決方案...... 刪除 access_token
只要你獲得了publish_stream權限,你根本就不需要它!

我相信有多種方法可以做到這一點:

- 您可以使用PHP SDK getAccessToken提供的方法,該方法返回sdk實例使用的當前訪問令牌, 此URL上有更多信息。

- 但是,一旦您向用戶請求publish_stream權限,您就不需要使用訪問令牌來調用api()方法,如@ifaour已經提到的那樣。 因此,您可以執行類似此示例的操作 ,滾動到子標題使用Graph API發布指向用戶牆的鏈接

- 然后,你有另外三個選擇

i)要么使用此處的方法獲取新的訪問令牌,如果您在用戶當前正在使用您的應用程序時發布,否則您可以嘗試接下來的2個選項
ii) 離線訪問
iii)我不確定這一點,但你可能想嘗試使用這種方式獲得的app訪問令牌。

暫無
暫無

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

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