我有一个发布到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上发布,就像您自己一样(使用图像和网站的描述)但使用我的代码我无法以同样的方式实现它。
On&#34; How can I post to the wall of a Facebook Fan Page using PHP and Open Graph API&#34;一些用户已经发布了答案,但在我的案例中不起作用。
我的代码和其他网站上的代码之间的差异是&#34; $ attachment&#34;部分代码
<?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页面而不会丢失使用我的脚本的任何好处或格式。
提前致谢
答案 0 :(得分:3)
这会让你发布到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";
}
}
?>