使用 JS SDK 或 PHP SDK 将 Facebook 页面发布到 Wordpress
Get Facebook page posts to Wordpress with JS SDK or PHP SDK
我想从 Facebook 页面获取帖子并将其显示在 Wordpress 网站上。
首先,我尝试使用 JavaScript SDK 并成功了,但无法弄清楚如何从服务器端调用访问令牌。
其次,我一直在尝试使用 PHP SDK,但无论如何都无法正常工作。
我翻阅文档的次数已经数不清了。这对我来说没有意义。
这是我目前所在的 PHP:
require_once( 'out-fb/src/Facebook/autoload.php' );
$app_id = "{app-id}";
$secret = "{app-secret}";
$access_token = "{access-token}";
$fb = new Facebook([
'app_id' => $app_id,
'app_secret' => $secret,
'default_graph_version' => 'v5.0',
'default_access_token' => $access_token
]);
try {
// $response = $fb->getClient()->sendRequest($request);
$response = $fb->get('/{page-id}}/posts?fields=message,full_picture,created_time&limit=5');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
我不完全知道如何翻译 JSON 并将代码发送到我的前端,但即使现在我也收到 WP 的错误消息 "The site is experiencing technical difficulties."
如果有人可以指导我完成 PHP SDK,或者可以告诉我如何将 access_token 服务器端与 JS SDK 放在一起,我将非常感激!
提前致谢。
所以我想通了。
我仍然不知道我是怎么做到的,但你可以在这里看到最终对我有用的东西。
我认为是因为使用了 $fb = new Facebook([
而不是 $fb = new Facebook\Facebook([
<?php
require_once 'out-fb/src/Facebook/autoload.php';
$app_id = "{app-id}";
$app_secret = "{app-secret}";
$access_token = "{access_token}";
$fb = new Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v5.0',
]);
$response = $fb->get('/{page-id}/posts?fields=message,full_picture,created_time&limit=5', $access_token);
$node = $response->getGraphEdge();
echo $node->getField('3')[message];
我想从 Facebook 页面获取帖子并将其显示在 Wordpress 网站上。
首先,我尝试使用 JavaScript SDK 并成功了,但无法弄清楚如何从服务器端调用访问令牌。
其次,我一直在尝试使用 PHP SDK,但无论如何都无法正常工作。
我翻阅文档的次数已经数不清了。这对我来说没有意义。
这是我目前所在的 PHP:
require_once( 'out-fb/src/Facebook/autoload.php' );
$app_id = "{app-id}";
$secret = "{app-secret}";
$access_token = "{access-token}";
$fb = new Facebook([
'app_id' => $app_id,
'app_secret' => $secret,
'default_graph_version' => 'v5.0',
'default_access_token' => $access_token
]);
try {
// $response = $fb->getClient()->sendRequest($request);
$response = $fb->get('/{page-id}}/posts?fields=message,full_picture,created_time&limit=5');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
我不完全知道如何翻译 JSON 并将代码发送到我的前端,但即使现在我也收到 WP 的错误消息 "The site is experiencing technical difficulties."
如果有人可以指导我完成 PHP SDK,或者可以告诉我如何将 access_token 服务器端与 JS SDK 放在一起,我将非常感激!
提前致谢。
所以我想通了。
我仍然不知道我是怎么做到的,但你可以在这里看到最终对我有用的东西。
我认为是因为使用了 $fb = new Facebook([
而不是 $fb = new Facebook\Facebook([
<?php
require_once 'out-fb/src/Facebook/autoload.php';
$app_id = "{app-id}";
$app_secret = "{app-secret}";
$access_token = "{access_token}";
$fb = new Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v5.0',
]);
$response = $fb->get('/{page-id}/posts?fields=message,full_picture,created_time&limit=5', $access_token);
$node = $response->getGraphEdge();
echo $node->getField('3')[message];