我使用以下代码通过我的Facebook应用程序发布到我的页面墙上
$params = array(
// this is the main access token (facebook profile)
"access_token" => $access_token,
"message" => "Here is a blog post about auto posting on Facebook without being signed in using PHP #php #facebook",
"link" => $AD_Link,
"picture" => "https://localhost/adwit1/uploaded_images/himanshu124/Lighthouse.jpg",
"name" => $AD_Name,
"caption" => $AD_Caption,
"description" => $AD_Desc
);
try {
$ret = $fb->api('/me/feed', 'POST', $params);
echo 'Successfully posted to Facebook Personal Profile '.$ret['id'];
} catch(Exception $e) {
echo $e->getMessage();
}
使用此代码,除了指定的图像外,所有内容都会发布在我的FB页面上。但是,如果我直接在浏览器中粘贴上面提到的图像链接,我就能够查看图像。另一方面,如果我在“picture”参数中使用以下链接http://i.imgur.com/lHkOsiH.png,则图像会在FB页面上发布。
我在stackoverflow.com上也发现了类似的问题,但没有提到令人满意的答案。
如果有人知道我遇到这样的问题,请帮助我。
答案 0 :(得分:1)
您遇到此问题是因为Facebook无法读取本地主机服务器,唯一能够读取本地主机的人就是您,没有其他人。
您可以查看以下图片,因为它位于您的本地主机上。
https://localhost/adwit1/uploaded_images/himanshu124/Lighthouse.jpg
要解决此问题,请在任意图像商店网站上传图像然后获取其链接,在这种情况下,Facebook将能够读取图像。
答案 1 :(得分:0)
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once APPPATH."/third_party/facebook.php";
class FacebookLib{
private $CI;
/**
* loading codeIgniter instance
*/
public function __construct(){
$this->CI =& get_instance();
}
public function postOnFaceBook(){
$config = array();
$config['appId'] = '*********';
$config['secret'] = '********';
$config['fileUpload'] = true; // optional
$fb = new Facebook($config);
//$user = $fb->getUser();
//echo $access_token = $fb->getAccessToken();
/*print_r($user);
if($user){
echo $fb->getAccessToken();
}
exit;*/
//$access_token =
$param = array();
$param['access_token'] = "********";
//$param['access_token'] = $access_token;
$param['message'] = "Here is a blog post about auto posting on Facebook using PHP #php #facebook6";
$param['link'] = "http://localhost/FreightBazaar/";
$param['picture'] = "http://yoururl.com/assets/images/customer/profile/1476700963.3612driver-app-ico--4-.png";
$param['name'] ="How to Auto Post on Facebook with PHP";
$param['caption'] ="";
$param['description'] ="Automatically post on Facebook with PHP using Facebook PHP SDK. How to create a Facebook app. Obtain and extend Facebook access tokens. Cron automation.";
// post to Facebook
// see: https://developers.facebook.com/docs/reference/php/facebook-api/
try {
$ret = $fb->api('/page id/feed', 'POST', $param);
return "Successfully posted to Facebook";
//$ret = $fb->api('/page id/feed', 'POST', $params);
//echo 'Successfully posted to Facebook';
} catch(Exception $e) {
return $e;
//echo $e->getMessage();
}
}
}
Locahost网址未被识别,因此请使用实时网站网址链接......例如www.example.com/images/profile.png