Facebook API获取访问令牌
我有一个要求,只需要使用API的Facebookaccess令牌。
我见过使用Web请求和响应来获取Facebook API的方法,他们也使用重定向URI。
但我不能真正使用重定向URI,因为我想在一个天蓝色的辅助角色中使用它。
就像是:
facebook a=new facebook();
a.appid="";
这只是一个可视化,但任何帮助都会很棒。
编辑:
以下回答有帮助。 如果我在浏览器中使用以下uri https://graph.facebook.com/oauth/access_token?client_id=app_Id&client_secret=secret_key&grant_type=client_credentials
它显示access_token = ###,但如果使用以下代码在.net字符串中执行相同的操作,则url =“https://graph.facebook.com/oauth/access_token?client_id=app_id&client_secret = secretKey&grant_type = client_credentials”;
string token;
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
它引发未经授权的
如果C#API没有提供方法,你可以自己做。 访问令牌是以下url的内容。 你只需要提出https请求。
https://graph.facebook.com/oauth/access_token?client_id=<APP_ID>&client_secret=<APP_SECRET>&grant_type=client_credentials
好的,所以这里是PHP代码的工作:
function getAccessToken(){
$token_url = 'https://graph.facebook.com/oauth/access_token?client_id='.APP_ID.'&client_secret='.APP_SECRET.'&grant_type=client_credentials';
return makeRequest($token_url);
}
function makeRequest( $url, $timeout = 5 ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERAGENT, "PHP_APP" );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_ENCODING, "" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); # required for https urls
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout );
curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 );
$content = curl_exec( $ch );
$response = curl_getinfo( $ch );
curl_close ( $ch );
if($response['http_code'] == 200) return $content;
return FALSE;
}
链接地址: http://www.djcxy.com/p/61603.html