我完成了这个脚本,直到今天早上,该脚本一直运行良好,启动它时,突然我发现"link"
array的参数$linkData
不再发布,"message"
发布时也没有返回错误。
我还注意到,如果我将/me/feed
对象放入$fb->post
,它将无法正常工作(请参见注释行)。没有错误返回。
同时,如果我放置一个组的代码(您看到的代码是我创建的用于测试脚本的测试组),则将"message"
发布参数(而不是"link"
)
范围是:
user_managed_groups,
user_events,
user_friends,
user_posts,
publish_actions,
user_actions.music,
user_actions.video,
public_profile
该链接是指为其编写应用程序的链接。www.example.com
该示例的URL写入此处。在真实的代码中,我使用了应用程序网站的URL(直到昨天运行良好)。
请在这里输入代码:
<?php
session_start();
define(__APP_ID__, XXXXXXXXXXXXXXX);
define(__APP_SECRET__, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY');
define(__APP_TOKEN__, 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ');
define(__APP_ACCESS_TOKEN__, 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW');
require_once '../include/setup.php';
require_once $root_dir.'/include/Facebook/autoload.php';
// Creates the object
$fb = new Facebook\Facebook([
'app_id' => __APP_ID__,
'app_secret' => __APP_SECRET__,
'default_graph_version' => 'v2.2',
]);
$linkData = [
'link' => 'http://www.example.com',
'message' => 'The link above, is not any longer published',
];
$group_id = "1041863359178529";
try {
//$response = $fb->post("/me/feed", $linkData, __APP_ACCESS_TOKEN__); // SUDDENLY it doesn't work any longer
$response = $fb->post("/{$group_id}/feed", $linkData, __APP_ACCESS_TOKEN__);
} catch (Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
echo 'Posted with id: ' . $graphNode['id']."\r\n";
?>
编辑:有什么我可以做的吗?ID是否取决于应用设置?我更改了许多参数以找到解决方案,但仍然存在问题。
我确实验证了该块是由于FB。换句话说:可能出于安全原因(主要是反垃圾邮件),FB块在短时间内重复使用该功能。
我确实也尝试在迭代中等待15秒以上,但是如果我在一天内使用20至25次以上,FB将中止所有必需的授权。
在发布线程时,FB仅启用了文本发布,并停用了OpenGraph。
现在,它阻止了任何类型的发送,包括文本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句