2017-10-12 97 views
-1

我正在从我们的网站的FB页面发布帖子。我们添加到我们的FB页面中的每个新帖子和照片都需要在我们的网站上展示。如何从FB到网站获取图像

我有这段代码,但没有按照我的需要工作。

require 'php-graph-sdk-5.x/src/Facebook/autoload.php'; 

$fb = new Facebook\Facebook([ 
    'app_id' => '...', 
    'app_secret' => '{app-secret}', // don't know where to find app_secret for my page, I've found that just for apps, not pages 
    'default_graph_version' => 'v2.10' 
]); 

$access_token = '...'; // generated in developers, but with just for 12 hours, than this token is expired... :-(

try { 
    // Returns a `Facebook\FacebookResponse` object 
    $response = $fb->get('me?fields=id,name,feed,data', $access_token); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

$graphNode = $response->getGraphNode(); 

foreach ($graphNode as $node) { 
    foreach ($node as $items) { 
     print_r($items); 

     // when access token was valid, I got posts from out FB page. But with no images, didn't find how to get add images to this feed... 
    } 
} 

所以,我的问题是:

  1. 在哪里可以找到应用程序,秘密的FB?我不能连接到我的FB页面没有,我想

  2. 如何生成永久访问令牌,或者如果它不可能,如何使我以其他方式?

  3. 如何添加图像(新的,共享等)到我的饲料?

谢谢。

回答

1
  1. 每页没有应用程序秘密,每个应用程序只有应用程序秘密。你可以在你的应用程序设置中找到它。
  2. 扩展/永久令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/http://www.devils-heaven.com/facebook-access-tokens/ - 用于获取无限制页面的提要条目,您可以使用应用程序访问令牌,并且可以将其硬编码到您的PHP代码中。
  3. 在Feed中获取图像,而不仅仅是消息:您需要指定要获取的字段,否则您只会获取默认字段。它被称为“声明字段”:https://developers.facebook.com/docs/graph-api/changelog#v2_4 - 另外,查看API参考:https://developers.facebook.com/docs/graph-api/reference/post
+0

1.我没有应用程序,只是FB页面。如何在没有app_id的情况下使用API​​? 3.我不需要将照片添加到FB页面,而是从FB页面添加到网站。在我的feed中,在$ graphNode中没有图像,只是消息(我们FB帖子的文本部分)。 – Roman

+0

广告2.在你给我延伸到的链接中,有:'让你的应用程序检索页面和个人管理的应用程序的页面访问令牌。'.. ..再次,我没有APP,只是页面。这个链接可能是应用程序,而不是页面。 – Roman

+0

你需要一个应用程序然后;) - 没有一个应用程序,没有API访问。 – luschn