gpt4 book ai didi

facebook - 尝试使用 cron 通过 Facebook PHP SDK 获取最新页面状态

转载 作者:行者123 更新时间:2023-12-04 04:33:22 26 4
gpt4 key购买 nike

我正在尝试使用 PHP SDK 从 Facebook 页面提取最新状态,然后通过 cron 作业将其作为帖子插入我的网站,但似乎卡在访问 token 部分。这是我到目前为止所拥有的:

require 'facebook-php-sdk-master/src/facebook.php';
require 'wp-load.php';

// I replaced these obviously
$facebook = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_SECRET,
));

try {
$feed = $facebook->api('/322522705880/feed?limit=1');
} catch (FacebookApiException $e) {
error_log($e);
}

然后我使用 $feed['data'][0]['description'] 等来创建帖子。但是,我唯一可以让 $feed 获得任何数据的时间是当我重新安装 Facebook Wordpress 插件时,该插件必须以某种方式激活访问 token ,因为它会工作几个小时,然后停止。我在任何地方都找不到任何关于如何从脚本生成自己的信息的信息, https://developers.facebook.com/docs/reference/php/facebook-getAccessToken/并没有真正提供任何有用的信息。如果有人能指出我正确的方向,那就太好了。 wordpress 插件正在以某种方式执行此操作,我只需要知道如何复制它。

我在插件中做了一些探索,发现了这个
$token = false;

if (!$token) {
// Get temporary token
$token = $this->model->fb->getAccessToken();
if (!$token) return false;

// Exchange it for the actual long-term token
$url = "https://graph.facebook.com/oauth/access_token?client_id={$app_id}&client_secret={$app_secret}&grant_type=fb_exchange_token&fb_exchange_token={$token}";
$page = wp_remote_get($url, array(
'method' => 'GET',
'timeout' => '5',
'redirection' => '5',
'user-agent' => 'wdfb',
'blocking' => true,
'compress' => false,
'decompress' => true,
'sslverify' => false
));
if(is_wp_error($page)) return false; // Request fail
if ((int)$page['response']['code'] != 200) return false; // Request fail

parse_str($page['body'], $response);
$token = isset($response['access_token']) ? $response['access_token'] : false;
if (!$token) return false;
}

但这给了我“没有指定用户访问 token ”,我不确定如何使用或获取用户访问 token ?

最佳答案

为此,您只需要一个应用程序 token 。您可以使用您的 app_id 和 app_secret “构建”一个应用访问 token :

access_token=APP_ID|APP_SECRET

这是一个管道字符 |两个值之间。

一旦你有了这个,你就可以像这样向端点发出请求:
https://graph.facebook.com/cocacola/feed?limit=1&access_token=APP_ID|APP_SECRET

响应将是这样的:
{
"data": [
{
"id": "40796308305_10152854866613306",
"from": {
"name": "Verone Diedericks",
"id": "100003842548992"
},
"to": {
"data": [
{
"category": "Food/beverages",
"name": "Coca-Cola",
"id": "40796308305"
}
]
},
"message": "Vony nd kimo or just vony",
"privacy": {
"value": ""
},
"type": "status",
"created_time": "2013-11-26T20:13:11+0000",
"updated_time": "2013-11-26T20:13:11+0000"
}
],
"paging": {
"previous": "https://graph.facebook.com/40796308305/feed?limit=1&access_token=163586277060593|Rtsz7h6IiHu7Uva9D5S4VW0FKu8&since=1385496791&__previous=1",
"next": "https://graph.facebook.com/40796308305/feed?limit=1&access_token=163586277060593|Rtsz7h6IiHu7Uva9D5S4VW0FKu8&until=1385496790"
}
}

关于facebook - 尝试使用 cron 通过 Facebook PHP SDK 获取最新页面状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com