这是代码,当帖子没有在“链接字段”上包含链接时,此代码工作得很好,可以在“字段消息”中发送带有或不带有链接的消息 在字段消息中发布的链接看起来像一个可点击的文本链接(http://www.mylinkposted.com/withoutmetadata/),您可以发送如下帖子:
嗨,我终于完成了我的新网站
根据您的经验,我将等待一些反馈。
但是,如果在“链接字段”中写入(复制)链接,它将从中提取元数据,并且帖子将包括描述,标题,标题,图像,来源......如果用户有帖子,它将看起来像在其他用户提要/墙上分享了一个链接,上面有所有的帖子参数,看起来很不错,但是通知它没有进入通知流,看起来真的很垃圾,只是发布而不发送通知,你认为什么可以解决这个问题问题?
$app_id = "xxxxxxxxxxxxxxxx"; $app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; $site_url = "http://www.xxxxxxxxxxxxxxx.com/app00/index.php"; 尝试{ include_once "src/facebook.php"; }catch(异常 $e){ 错误日志($e); } $facebook = 新的 Facebook(数组( 'appId' => $app_id, '秘密' => $app_secret, )); $user = $facebook->getUser(); 如果($用户){ 尝试{ $user_profile = $facebook->api('/me'); }catch(FacebookApiException $e){ 错误日志($e); $用户=空; } } 如果($用户){ // 获取注销地址 $logoutUrl = $facebook->getLogoutUrl(); }别的{ // 获取登录地址 $loginUrl = $facebook->getLoginUrl(数组( '范围' => '发布流用户组', 'redirect_uri' => $site_url, )); } 如果($用户){ $查询=数组( 数组('方法' => 'GET','relative_url' => '/'.$user), array('method' => 'GET', 'relative_url' => '/'.$user.'/friends'), 数组('方法' => 'GET','relative_url' => '/'.$user.'/groups'), array('method' => 'GET', 'relative_url' => '/'.$user.'/likes'), ); 尝试{ $batchResponse = $facebook->api('?batch='.json_encode($queries), 'POST'); }catch(异常 $o){ 错误日志($o); } //细绳。解码用作 PHP 数组。 $user_info = json_decode($batchResponse[0]['body'], TRUE); $friends_list = json_decode($batchResponse[1]['body'], TRUE); $groups = json_decode($batchResponse[2]['body'], TRUE); $pages = json_decode($batchResponse[3]['body'], TRUE); if(isset($_POST['submit_x'])){ if($_POST['message'] || $_POST['link'] || $_POST['picture']) { $body = 数组( '消息' => $_POST['消息'], '链接' => $_POST['链接'], ); $batchPost=array(); $i=1; $标志=1; foreach($_POST as $key => $value) { if(strpos($key,"id_") === 0) { $batchPost[] = array('method' => 'POST', 'relative_url' => "/$value/feed", 'body' => http_build_query($body)); 如果($i++ == 50){ 尝试{ $multiPostResponse = $facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST'); }catch(FacebookApiException $e){ 错误日志($e); echo("批量发布失败"); } $标志=0; 未设置($batchPost); $i=1; } } } 如果(isset($batchPost)){ 尝试{ $multiPostResponse = $facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST'); }catch(FacebookApiException $e){ 错误日志($e); echo("批量发布失败"); } $标志=0; } } 别的 { $标志=2; } } }