Php 从Laravel应用程序向Facebook发布状态
我在我的Laravel申请表旁边有一张表格 当用户提交该表单时,它将向Php 从Laravel应用程序向Facebook发布状态,php,facebook,laravel,laravel-5,Php,Facebook,Laravel,Laravel 5,我在我的Laravel申请表旁边有一张表格 当用户提交该表单时,它将向 /facebook/status/post {!! Form::open(array('url' => '/facebook/status/post', 'class' => 'form-horizontal', 'role' =>'form','id' => 'postFbStatus')) !!} <input type="text" class="form-control" p
/facebook/status/post
{!! Form::open(array('url' => '/facebook/status/post', 'class' => 'form-horizontal', 'role' =>'form','id' => 'postFbStatus')) !!}
<input type="text" class="form-control" placeholder="What's your status?">
<button class="btn btn-primary btn-block mt10">Submit Post</button>
{!! Form::close();!!}
控制器
Route::post('facebook/status/post','FbController@post');
public function post(){
$fb = App::make('SammyK\LaravelFacebookSdk\LaravelFacebookSdk');
$id = Auth::user()->account_id;
$token_oauth = DB::table('tokens')->where('account_id','=',$id)->first();
try {
$token = $token_oauth->oauth;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
dd($e->getMessage());
}
//provide the token
$fb->setDefaultAccessToken($token);
// Get basic info on the user from Facebook.
try {
$response = $fb->get('/me?fields=id,name,email');
} catch (Facebook\Exceptions\FacebookSDKException $e) {
dd($e->getMessage());
}
// Convert the response to a `Facebook/GraphNodes/GraphUser` collection
$facebook_user = $response->getGraphUser();
$facebook_id = $facebook_user->id;
$url = 'https://graph.facebook.com/'.$facebook_id.'/feed';
$status = Input::get('status');
$data = [];
$data['access_token'] = $token;
$data['message'] = $status;
$data['from'] = env('FACEBOOK_APP_ID');
$data['to'] = $facebook_id;
$data['caption'] = 'Caption';
$data['name'] = 'Name';
$data['description'] = 'via demo.PHPGang.com';
dd($data);
CURL::POST($url,$data);
}
array:7 [▼
"access_token" => "CAAO8ZBRshTC8BAOIZBlv7ZAZBOtc3y9pggTslVkPzhq1AfD2ihriV2RfAnQVZAQeKuS64rkJvV2YZAE8NrzuCsFpZA6ZB2KEisDYvafd40iflvjhjUFqJ9HpMrDKxSygKoBZAKOkYutVeIxdKsGh3PZAHQHHKv01JFrQl7x7HZBZA1wr3mSm2Dt9RHWkggrdIJ3rumFTPVRZAUKVZCYfgZDZD"
"message" => null
"from" => "105220301f8177583"
"to" => "14239698280f3345"
"caption" => "Caption"
"name" => "Name"
"description" => "via demo.PHPGang.com"
]
数据数组
Route::post('facebook/status/post','FbController@post');
public function post(){
$fb = App::make('SammyK\LaravelFacebookSdk\LaravelFacebookSdk');
$id = Auth::user()->account_id;
$token_oauth = DB::table('tokens')->where('account_id','=',$id)->first();
try {
$token = $token_oauth->oauth;
} catch (Facebook\Exceptions\FacebookSDKException $e) {
dd($e->getMessage());
}
//provide the token
$fb->setDefaultAccessToken($token);
// Get basic info on the user from Facebook.
try {
$response = $fb->get('/me?fields=id,name,email');
} catch (Facebook\Exceptions\FacebookSDKException $e) {
dd($e->getMessage());
}
// Convert the response to a `Facebook/GraphNodes/GraphUser` collection
$facebook_user = $response->getGraphUser();
$facebook_id = $facebook_user->id;
$url = 'https://graph.facebook.com/'.$facebook_id.'/feed';
$status = Input::get('status');
$data = [];
$data['access_token'] = $token;
$data['message'] = $status;
$data['from'] = env('FACEBOOK_APP_ID');
$data['to'] = $facebook_id;
$data['caption'] = 'Caption';
$data['name'] = 'Name';
$data['description'] = 'via demo.PHPGang.com';
dd($data);
CURL::POST($url,$data);
}
array:7 [▼
"access_token" => "CAAO8ZBRshTC8BAOIZBlv7ZAZBOtc3y9pggTslVkPzhq1AfD2ihriV2RfAnQVZAQeKuS64rkJvV2YZAE8NrzuCsFpZA6ZB2KEisDYvafd40iflvjhjUFqJ9HpMrDKxSygKoBZAKOkYutVeIxdKsGh3PZAHQHHKv01JFrQl7x7HZBZA1wr3mSm2Dt9RHWkggrdIJ3rumFTPVRZAUKVZCYfgZDZD"
"message" => null
"from" => "105220301f8177583"
"to" => "14239698280f3345"
"caption" => "Caption"
"name" => "Name"
"description" => "via demo.PHPGang.com"
]
@丹尼斯·梅森科:我希望你不介意在这篇facebook帖子上给我更多的提示。我现在很接近了,我正在尝试构建一个对象来发布我的状态。发布状态时,我应该提供的最少数据是什么。等等,如果我还不能发布状态,我如何获取状态id?你知道我的数据数组应该是什么样子吗?我用它更新了我的帖子。如果你正在使用Facebook软件包,你不需要直接给CURL打电话。您只需$fb->setDefaultAccessToken($token)$fb->post('/me/feed',['message'=>'这里有些东西','caption'=>'一些标题']);此外,当您发布到用户自己的提要时,您可以使用“me”别名(/me/feed而不是/user\u id/feed)