php - 使用 php 发布到 Facebook 页面

标签 php html facebook facebook-graph-api

我有一个要发布到 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";
            } 

}
?>

关于php - 使用 php 发布到 Facebook 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847690/

相关文章:

php - 替换字符串中最后一次出现的字符串

php - 将 PHP 对象转换为关联数组

Javascript:我的工具提示不显示其边框

文本区域中的 JQuery keyup 函数

android - 由于 facebookconnect 插件,Android 的 Phonegap 构建失败

PHP - 使用数组作为类常量

php - 定义(...)和@define(...)之间的区别

html - 使用负上边距覆盖页眉时背景隐藏

jquery - 当我访问我的页面时,我的分享按钮不会立即出现,当它出现时我们看到页面正在调整

php - 如何检测用户在 iframe 或直接 url 中打开我的 Facebook 应用程序