使用php发布到Facebook页面
作者:互联网
我有一个脚本可发布到Facebook,但是我在数据如何发布到Facebook上遇到问题.
因为它可以帮助其他人,所以这里是完整的代码
<?php
require 'facebook.php';
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 0;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = 0;
$pageId = "XXXXXXXX";
$permSess = "XXXXXXXXXXXXXXXX";
$facebook = new Facebook(array(
"appId" => "XXXXXXXXXX",
"secret" => "XXXXXXXXXX",
"cookie" => true
));
$page = $facebook->api("/{$pageId}");
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Post to Page Wall</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
/>
<meta name="description" content="Post to page's wall" />
<style>
body {
font-family:'Lucida Grande', Verdana, Arial, sans-serif;
background-color: #f2f2f2;
}
h1 a {
text-decoration: none;
color: #3b5998;
}
h1 a:hover {
text-decoration: underline;
}
form {
border: 1px solid #eee;
padding: 20px;
width: 550px;
}
textarea, select, input, label {
width: 500px;
border: 1px solid #ddd;
height: 20px;
clear: both;
margin: 10px;
}
textarea {
height: 100px;
}
label {
border: none;
font-weight: bold;
}
input#submit {
width: 100px;
}
</style>
</head>
<body>
<h1>Post to Friend's Wall</h1>
<?php if(isset($_POST[ 'submit'])) { $link=$
_POST[ 'link']; $message=$_POST[ 'message']; $attachment=a rray($message,$link
); $rest=$facebook->api(array( "uid" => $pageId, "method" => "stream.publish", "access_token"
=> $permSess, "message" => $message )); } ?>
<form id="Wall" name="Wall"
method="post">
<label for="URL">URL:</label>
<input id="link" name="link">
<label for="Message">Message:</label>
<textarea id="message" name="message"></textarea>
<input type="submit" name="submit" id="submit" value="Send!">
</form>
</body>
</html>
问题:
我使用的示例是发布here,并使用该示例在URL字段上提交的链接在Facebook上发布,就像您自己动手(带有网站的图片和说明)一样,但是使用我的代码,我无法它以相同的方式发生.
在“ How can I post to the wall of a Facebook Fan Page using PHP and Open Graph API”上,一些用户发布了答案,但在我的情况下不起作用.
我的代码和另一个站点上的代码之间的区别是代码的“ $attachment”部分
<?php
if (isset($_POST['submit'])) {
$sendTo = $_POST['friend'];
$link = $_POST['link'];
$message = $_POST['message'];
// all options: https://stackoverflow.com/questions/691425/how-do-you-post-to-the-wall-on-a-facebook-page-not-profile
$attachment = array(
'message' => $message,
'link' => $link
);
if ($result = $facebook->api("/$sendTo/feed/", 'post', $attachment)) {
$feedbackMessage = "Message sent to friend $sendTo";
} else {
$feedbackMessage = "Oops something went wrong";
}
}
?>
所以…问题是如何正确地发布到Facebook页面,而又不损失使用我的脚本的任何好处或格式.
提前致谢
解决方法:
那将使您发布到Facebook页面并保持格式,我明白了您的意思!
<?php
if(isset($_POST['submit'])) {
$link = $_POST['link'];
$message = $_POST['message'];
$attachment = array(
'access_token' => $permSess,
'message' => $message,
'link' => $link
);
if( $result = $facebook->api(
"/".$pageId."/links",
'post',
$attachment
)){
$feedbackMessage = "Message sent to friend $sendTo";
} else {
$feedbackMessage = "Oops something went wrong";
}
}
?>
标签:facebook,html,php,facebook-graph-api 来源: https://codeday.me/bug/20191201/2081774.html