编程语言
首页 > 编程语言> > 使用php发布到Facebook页面

使用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