Facebook Php Api基础知识

时间:2013-10-04 05:57:38

标签: php facebook facebook-graph-api facebook-php-sdk facebook-access-token

我开始使用php sdk,并努力理解一些事情(我在下面有一个基本的例子 - 但每次图片都会转到我的墙而不是粉丝页面)

代码:

    require_once("facebook.php"); // set the right path

    $config = array();
    $config['appId'] = 'app id';
    $config['secret'] = 'app secret';
    $config['fileUpload'] = true; // optional
    $fb = new Facebook($config);

    $params = array(
      // this is the access token for Fan Page
      "access_token" => "I create this via the graph api (select App and click get token), I select publish stream and photo_upload permissions.",
      "message" => "test message",
      "source" => "@" ."photo.png", // "@" . 
    );

    try {
      // **** is Facebook id of Fan page 
      $ret = $fb->api('/****/photos', 'POST', $params);
      echo 'Photo successfully uploaded to Facebook Album';
    } catch(Exception $e) {
      echo $e->getMessage();
    }

图片一直在我的墙上(登录用户)而不是粉丝页面,是因为我为当前登录的用户(我)而不是粉丝页面获取了一个令牌?如果是这样,我如何以开发人员身份登录时为粉丝页面生成令牌? (是通过将粉丝页面ID放入Get栏吗?)

为noob问题道歉,但facebook文档很糟糕(直到你理解了核心功能)。一旦你知道如何使用图形API,大多数教程都可以工作 - 实际上没有看到EXPLAIN如何使用图形生成正确的标记等。

1 个答案:

答案 0 :(得分:1)

\POST /<ID>/photos - 这只会在<ID>的墙上发布,因此请仔细检查您正在使用的<ID>

访问令牌将描述代表谁将照片张贴在<ID>的墙上。如果您使用用户访问令牌,则会代表用户发布照片,如果使用页面访问令牌,则会代表页面自行发布。

您可以通过 -

获取网页的网页访问令牌
\GET  /me/accounts?fields=access_token 

(需要许可:manage_pages

Demo