【问题标题】:Facebook PHP SDK Upload PhotosFacebook PHP SDK 上传照片
【发布时间】:2011-06-11 20:15:58
【问题描述】:

尝试将在我的服务器上呈现的照片即时上传到用户的 Facebook 相册。由于 FB Docs 非常、非常、非常糟糕(至少可以这么说),我希望有人向我展示一些使用 PHP SDK 调用 Graph API 的好代码示例?

【问题讨论】:

    标签: php facebook facebook-php-sdk


    【解决方案1】:

    类似的东西。

         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");
    }
    

    Here 是指向您可以向用户请求的所有权限的链接。

    【讨论】:

    • 将目标贴到墙上是什么意思? www.example.com 应该是什么?
    • 对不起。我从自己的一个项目中滑出,错过了更改该文本。这意味着 Facebook API 引发了异常,我将其记录到 PHP error_log 以便稍后检查。 example.com 将是运行脚本的站点的域名。
    • 你会说这是 Graph API Requests 的方式吗?只需将参数和 url (/me/photos) 更改为我需要的任何内容?
    • 是的。就这么简单。使用应用程序的参数初始化 API 后。但是,您必须确保要求用户授予执行您想做的事情的权限。我会在我的回答中添加一个例子。
    • 删除photos 之后的斜杠,而不是me,使用专辑ID 添加到特定专辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    相关资源
    最近更新 更多