php – 如何通过curl获取facebook令牌代码?
发布时间:2020-12-13 21:43:00 所属栏目:PHP教程 来源:网络整理
导读:我尝试使用easy curl来获取facebook代码和access_token通过curl.这样我就可以将信息发布到我的墙上.我知道sdk,但如果我只使用简单的卷曲方式? 一些故障归还: 方法未实施 请求中的方法无效 这是我的代码.顺便说一句:如果在1小时内仍然有效,如何记住access_
我尝试使用easy curl来获取facebook代码和access_token通过curl.这样我就可以将信息发布到我的墙上.我知道sdk,但如果我只使用简单的卷曲方式?
一些故障归还: 方法未实施 请求中的方法无效 这是我的代码.顺便说一句:如果在1小时内仍然有效,如何记住access_token?谢谢. $code_url = "https://graph.facebook.com/oauth/authorize?client_id=".$app_id."&redirect_uri=".urlencode($canvas_page_url)."&type=client_cred&display=page&scope=user_photos,publish_stream,read_stream,user_likes"; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$code_url); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_HEADER,CURLOPT_RETURNTRANSFER,1); $fb_code = curl_exec($ch); // get code curl_close($ch); $token_url = "https://graph.facebook.com/oauth/access_token?client_id=".$app_id."&client_secret=".$app_secret."&redirect_uri=".urlencode($canvas_page_url)."&code=".$fb_code.""; $curl = curl_init(); curl_setopt($curl,$token_url); curl_setopt($curl,0); curl_setopt($curl,1); curl_setopt($curl,1); $result = curl_exec($curl); curl_close($curl); echo $result; //get token for post to wall 编辑: $app_id = "14XXXXXXXX"; $app_secret = "77XXXXXXXXXXXXXXXXXXXXXXX"; function get_app_access_token($app_id,$secret) { $url = 'https://graph.facebook.com/oauth/access_token'; $token_params = array( "type" => "client_cred","client_id" => $app_id,"client_secret" => $app_secret ); return str_replace('access_token=','',post_url($url,$token_params)); } $token = get_app_access_token($app_id,$app_secret); echo $token; 解决方法
尝试使用这些辅助方法,这些方法将对图API进行cURL调用并返回应用程序access_token.
此函数接受一个url和一组参数,并通过cURL进行POST: function post_url($url,$params) { $ch = curl_init(); curl_setopt($ch,$url); curl_setopt($ch,1); curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params,null,'&')); $ret = curl_exec($ch); curl_close($ch); return $ret; } 此功能会获取developer app中提供的应用ID和密码,并为您的应用返回有效的access_token: function get_app_access_token($app_id,"client_secret" => $secret ); return str_replace('access_token=',$token_params)); } 您可以调用方法,如$token = get_app_access_token(‘APP_ID’,’SEKRET’); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |