Facebook PHP SDK上传照片

4

我想将服务器上渲染的照片实时上传到用户的Facebook相册中。由于Facebook文档非常糟糕(至少可以这么说),所以我希望有人能向我展示使用PHP SDK进行Graph API调用的一些好的代码示例。

1个回答

5

类似这样的内容。

在IT技术方面。
     try {
        $facebook->setFileUploadSupport('http://www.example.com/');
        $response = $facebook->api(
          '/me/photos/',
          'post',
          array(
            'message' => 'This is my image caption',
            'source' => '@/path/to/image' // @-sign must be the first character
          )
        );
      }
      catch (FacebookApiException $e) {
        error_log('Could not post image to Facebook.');
      }

编辑:首先,您需要使用此代码进行身份验证。

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
  'cookie' => TRUE,
  'domain' => $_SERVER['SERVER_NAME']
));

$facebook->getSession();

try {
  $me = $facebook->api('/me');
}
catch (FacebookApiException $e) {
  $me = NULL;
}

if ( is_null($me) ) {
  $auth_url = $facebook->getLoginUrl(array(
    'req_perms' => 'read_stream,publish_stream,user_photos'
  ));

  header("Location: $auth_url");
}

这是一个链接,可以请求用户授权的所有权限。请点击这里

“post goal to wall” 是什么意思?“www.example.com” 应该填写什么? - Tom Granot
抱歉,我从自己的项目中复制粘贴时错过了更改该文本。这意味着Facebook API引发了异常,并将其记录到PHP error_log中以便稍后检查。example.com是运行脚本的站点的域名。 - user585756
你会说这是Graph API请求的正确方式吗?只需更改参数和URL(/me/photos)以满足我的需求即可? - Tom Granot
是的,就是这么简单。一旦您使用应用程序参数初始化API,但是您必须确保要求用户授权以执行您想要的操作。我会在我的回答中添加一个示例。 - user585756
@9muses:将“$this->facebook->api”更改为“$facebook->api”。 - ifaour
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接