PHP Facebook获取粉丝页面令牌
在完成了一些问答之后,我构建了下面的PHP代码。下面的代码为我的Facebook应用程序生成一个不确定(两个月)的访问令牌 基本上,通过Facebook应用程序,用户可以将多张图片上传到我的Facebook页面上的特定相册中。此应用程序需要两个访问令牌才能工作。应用程序访问令牌(下面的代码)和页面访问令牌 我使用cron作业生成文本文件的第一个访问令牌(下面的代码),它工作正常。现在,我想使用下面类似的代码生成另一个文本文件的页面访问令牌,但尚未成功PHP Facebook获取粉丝页面令牌,php,facebook-graph-api,facebook-php-sdk,Php,Facebook Graph Api,Facebook Php Sdk,在完成了一些问答之后,我构建了下面的PHP代码。下面的代码为我的Facebook应用程序生成一个不确定(两个月)的访问令牌 基本上,通过Facebook应用程序,用户可以将多张图片上传到我的Facebook页面上的特定相册中。此应用程序需要两个访问令牌才能工作。应用程序访问令牌(下面的代码)和页面访问令牌 我使用cron作业生成文本文件的第一个访问令牌(下面的代码),它工作正常。现在,我想使用下面类似的代码生成另一个文本文件的页面访问令牌,但尚未成功 <?php require_once
<?php
require_once 'library/facebook.php';
include '../constants.php';
define('TOKEN_FILE', 'fb_app_token.txt'); // dont need to change this
$fb = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET,
'cookie' => true,
));
function ensure_login($fb) {
if (!$fb->getUser()) {
header('Location: '.$fb->getLoginUrl(array(
'scope' => 'manage_pages,publish_stream',
)));
die();
}
}
function fetch_long_living_access_token($fb) {
$qs = http_build_query(array(
'client_id' => $fb->getAppId(),
'client_secret' => $fb->getApiSecret(),
'grant_type' => 'fb_exchange_token',
'fb_exchange_token' => $fb->getAccessToken(),
));
$fb_resp = file_get_contents('https://graph.facebook.com/oauth/access_token?'.$qs);
if (!$fb_resp) {
ensure_login($fb);
}
parse_str($fb_resp, $fb_resp);
if (!isset($fb_resp['access_token'])) {
ensure_login($fb);
}
$fb->setAccessToken($fb_resp['access_token']);
return $fb_resp['access_token'];
}
function save_page_access_token($token) {
file_put_contents(TOKEN_FILE, $token);
}
function get_random_message($source) {
$lines = preg_split('/[\n\r]+/', trim(file_get_contents($source)));
return $lines[array_rand($lines)];
}
ensure_login($fb);
$page_access_token = fetch_long_living_access_token($fb);
save_page_access_token($page_access_token);
print 'saved access token: '.$page_access_token;
?>
我到现在为止所做的:
<?php
require_once 'library/facebook.php';
include '../constants.php';
define('TOKEN_FILE', 'fb_page_accestoken.txt'); // dont need to change this
$fb = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET,
'cookie' => true,
));
$access_token = file_get_contents('fb_app_token.txt');
$response = "https://graph.facebook.com/me/accounts?access_token=".$access_token;
echo $response;
?>
此代码如下所示。基本上,它得到了上面的用户令牌,它给了我一个URL来获取不确定(2个月)的Facebook页面访问代码
我在浏览器中输入这个URL,它会给我所有页面的数组。在本例中,我选择了相应页面的访问令牌
我希望获得与第一个代码类似的页面访问令牌,而不是使用第二个代码。或者,从第二个代码的数组中获取页面访问代码
我无法找到如何从facebook api提供的数组中获取特定数据,例如仅获取页面访问代码。请查看详细信息
如果我理解正确,您就不知道如何查询Facebook API以获取页面访问令牌。如果是这样,您可以通过以下方式进行:
$page_token_array = $fb->api('/me/accounts?fields=id,name,access_token&access_token='.$page_access_token);
我真的不明白你想做什么。请解释“我希望获得与第一个代码类似的页面访问令牌,而不是使用第二个代码。或者,从第二个代码的数组中获取页面访问代码”的意思。您可以使用字段扩展API从查询的对象中仅获取某些字段:如果您有多个页面,则需要某种登录来选择适当的访问令牌。您好,我想获取与获取应用令牌(即第一个代码)类似的页面#