繁体   English   中英

使用Graph API将图像发布到Facebook

[英]Post Image to the Facebook using Graph API

我从Facebook页面获得了将照片发布到用户的墙上(帐户)的代码。

以下是我的PostToFB.php文件:

<?php
    include_once "facebook.php";
    ini_set("display_errors",0);

    //configuring application to post.
    $app_id = "YOUR_APP_ID";
    $app_secret = "YOUR_APP_SECRET";
    $post_login_url = "YOUR_REDIRECT_URL";

    $code = $_REQUEST["code"];

    //Obtain the access_token with publish_stream permission
    if(empty($code)){
        $dialog_url= "http://www.facebook.com/dialog/oauth?"
                . "client_id=" .  $app_id
                . "&redirect_uri=" . urlencode( $post_login_url)
                .  "&scope=publish_stream";
        echo("<script>top.location.href='" . $dialog_url
                . "'</script>");
    }
    else {
        $token_url="https://graph.facebook.com/oauth/access_token?"
                . "client_id=" . $app_id
                . "&redirect_uri=" . urlencode( $post_login_url)
                . "&client_secret=" . $app_secret
                . "&code=" . $code;
        $response = file_get_contents($token_url);
        $params = null;
        parse_str($response, $params);
        $access_token = $params['access_token'];

        // Show photo upload form to user and post to the Graph URL
        $graph_url= "https://graph.facebook.com/me/photos?"
                . "access_token=" .$access_token;

        echo '<html><body>';
        echo '<form enctype="multipart/form-data" action="'
                .$graph_url .' "method="POST">';
        echo 'Please choose a photo: ';
        echo '<input name="source" type="file"><br/><br/>';
        echo '<input type="submit" value="Upload"/><br/>';
        echo '</form>';
        echo '</body></html>';
    }
?>

但这是行不通的。 我得到以下输出:

{
   "error": {
      "message": "(#200) Permissions error",
      "type": "OAuthException",
      "code": 200
   }
}

你能帮我解决这个问题吗?

谢谢,

此代码绝对可以正常工作。 在我看来,唯一可能的原因是您尚未授予照片上传权限。 从以下位置检查您授予应用程序的权限: https : //www.facebook.com/settings?tab=applications

在此处输入图片说明

如果仍然没有帮助,则可以创建一个新应用,然后重试; 因为此代码是正确的。

编辑:

publish_stream已过时,请尝试使用publish_actions

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM