Facebook-如何通过URL上传照片?

Facebook-如何通过URL上传照片?,facebook,upload,photo,Facebook,Upload,Photo,例如,我的网站上安装了WordPress。我想通过URL在Facebook上上传图片。我的图像Url是: 现在,我想通过自己的网站将这张照片直接上传到Facebook上的特定相册中。我完全是N00b!所以我对编码一无所知 我的目标是创建一个封面网站 *第二次更新*: 以下是我现在使用的代码: <?php $app_id = "12354"; $app_secret = "1213243434"; $post_login_url = "http://

例如,我的网站上安装了WordPress。我想通过URL在Facebook上上传图片。我的图像Url是:

现在,我想通过自己的网站将这张照片直接上传到Facebook上的特定相册中。我完全是N00b!所以我对编码一无所知

我的目标是创建一个封面网站

*第二次更新*: 以下是我现在使用的代码:

  <?php
      $app_id = "12354";
      $app_secret = "1213243434";
      $post_login_url = "http://example.com/sdsds";
      $album_id = "1234224";
      $photo_url = "http://example.coom/test.jpg";
      $photo_caption = "my caption";

  $code = $_REQUEST["code"];

  //Obtain the access_token with publish_stream permission 
  if (!$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
      . "&client_secret=" . $app_secret
      . "&redirect_uri=" . urlencode( $post_login_url)
      . "&code=" . $code;
    $response = file_get_contents($token_url);
    $params = null;
    parse_str($response, $params);
    $access_token = $params['access_token'];

    // POST to Graph API endpoint to upload photos
    $graph_url= "https://graph.facebook.com/" 
      . $album_id . "/photos?"
      . "url=" . urlencode($photo_url)
      . "&message=" . urlencode($photo_caption)
      . "&method=POST"
      . "&access_token=" .$access_token;

    echo '<html><body>';
       echo file_get_contents($graph_url);

    echo '</body></html>';
  }
?>

你不能从url上传照片,因为你实际上没有上传照片,所以它甚至不被视为“上传”,只需指向url即可

您需要做的是获取实际的图像数据,并通过此url的POST请求将其发送到facebook:

https://graph.facebook.com/ALBUM_ID/photos
使用参数:消息和源

如果你在服务器上本地没有该图像,那么你需要下载它,阅读其内容,然后将其发布到facebook


编辑 感谢@TommyBs的评论,我发现通过url上传是不可能的。 我将留下答案,因为它谈到了替代方案


第二版 如果你想上传一些图片,你有两个选择(我看到):

(1) 使用facebook提供的。 你必须测试它是否能用这种特定的方法工作,我不知道,因为我从来没有尝试过用url将图像上传到facebook

(2) 每个图像发送一个请求,类似于:

function uploadPicture($albumId, $photoUrl, $message, $token) {
     $url= "https://graph.facebook.com/" 
        . $albumId . "/photos?"
        . "url=" . urlencode($photoUrl)
        . "&message=" . urlencode($message)
        . "&method=POST"
        . "&access_token=" . $token;

     return file_get_contents($url);
}

然后用不同的参数重复使用这个函数。

这更像是一个帮助网站,而不是一个“我们只给你代码”的网站。我建议你看看这个网站,特别是在上面,特别是这篇文章应该有关于通过URL上传的信息。是的,它很隐蔽,我只记得我见过一次。事实上,有人在facebook上提出了一个bug,因为它不在他们的文档中,所以希望它最终会被记录下来!好的,谢谢大家的帮助,特别是@TommyBs的代码:)现在我可以把照片上传到facebook上了。但是现在请告诉我,我只是想知道如何上传这么多的照片,从相同的代码。这是我使用的代码我不能说我明白你想要什么。。请尽量解释清楚一点。另外,请用添加的代码编辑您的原始问题,使其可读。我可以将“test.jpg”上传到facebook,但现在的问题是我不想只上传一张图片,我想上传很多图片,所以我不想更改“$photo_url=”;“此代码用于新照片,如有任何帮助,将不胜感激!