请求授权码 Linkedin
Request an Authorization Code Linkedin
我了解了 linkedin api
所以首先我需要知道如何申请授权码?
我在这里尝试了很多这种类型的问题,但我还是明白了。
从docs据说到:
"Simple call" :
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile
但我需要知道如何使用 php
执行该调用。
我试试 :
$response = file_get_contents("https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile");
$response = json_decode($response);
var_dump($response);
从这个 answer 但我的 return 是:NULL.
编辑
我的 oAuth2.0 端点授权是 http://localhost
,我不知道这是否会造成问题或可能。
我也加了curl
标签,因为这个教学很受欢迎
对不起我的英语
好吧,我不知道这是否正确,但我得到了以下结果:
提出要求:
<?php
header('Location: https:/www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=xxxxxxx&redirect_uri=http%3A%2F%2Flocalhost%2FapiLinkedin%2FDevMagicHat%2Fauth%2Flinkedin/callback&state=xxxxxxxxx');
?>
这是我的回电,在请求 Linkdin
响应回电 uri 后。
所以在文件夹 callback
中我创建了一个 index.php
页面来接收响应:
localhost/apiLinkedin/DevMagicHat/auth/linkedin/callback/index.php
<?php
$code = $_GET['code'];
$state = $_GET['state'];
echo "Code =>".$code."<br/>"."State =>".$state;
?>
我真的不知道这种方式是否比其他方式更好,但是对我有用,我希望对你也有用。
首先你必须 create an application 在 Linkedin 平台上得到你的 client_id
我们承认您的重定向 url 是:http://localhost/index.php,您应该做的第一件事是将用户的浏览器定向到 LinkedIn 的:
index.php
$params = [
'response_type' => 'code',
'client_id' => $client_id,
'redirect_uri' => 'http://localhost/index.php',
'state' => 'textOfYourChoice'
];
$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params);
header('Location: '.$url);
您现在将获得 linkedin 授权页面,只需单击允许按钮,您将使用 url 参数中传递的代码直接返回您的页面 index.php。
现在为了获取代码值,您应该检查 $_GET 变量:
index.php 变为:
if (isset($_GET['code']) {
die($_GET['code']);
}
$params = [
'response_type' => 'code',
'client_id' => $client_id,
'redirect_uri' => 'http://localhost/index.php',
'state' => 'textOfYourChoice'
];
$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params);
header('Location: '.$url);
我了解了 linkedin api
所以首先我需要知道如何申请授权码?
我在这里尝试了很多这种类型的问题,但我还是明白了。
从docs据说到:
"Simple call" :
https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile
但我需要知道如何使用 php
执行该调用。
我试试 :
$response = file_get_contents("https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile");
$response = json_decode($response);
var_dump($response);
从这个 answer 但我的 return 是:NULL.
编辑
我的 oAuth2.0 端点授权是 http://localhost
,我不知道这是否会造成问题或可能。
我也加了curl
标签,因为这个教学很受欢迎
对不起我的英语
好吧,我不知道这是否正确,但我得到了以下结果:
提出要求:
<?php
header('Location: https:/www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=xxxxxxx&redirect_uri=http%3A%2F%2Flocalhost%2FapiLinkedin%2FDevMagicHat%2Fauth%2Flinkedin/callback&state=xxxxxxxxx');
?>
这是我的回电,在请求 Linkdin
响应回电 uri 后。
所以在文件夹 callback
中我创建了一个 index.php
页面来接收响应:
localhost/apiLinkedin/DevMagicHat/auth/linkedin/callback/index.php
<?php
$code = $_GET['code'];
$state = $_GET['state'];
echo "Code =>".$code."<br/>"."State =>".$state;
?>
我真的不知道这种方式是否比其他方式更好,但是对我有用,我希望对你也有用。
首先你必须 create an application 在 Linkedin 平台上得到你的 client_id
我们承认您的重定向 url 是:http://localhost/index.php,您应该做的第一件事是将用户的浏览器定向到 LinkedIn 的:
index.php
$params = [
'response_type' => 'code',
'client_id' => $client_id,
'redirect_uri' => 'http://localhost/index.php',
'state' => 'textOfYourChoice'
];
$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params);
header('Location: '.$url);
您现在将获得 linkedin 授权页面,只需单击允许按钮,您将使用 url 参数中传递的代码直接返回您的页面 index.php。
现在为了获取代码值,您应该检查 $_GET 变量:
index.php 变为:
if (isset($_GET['code']) {
die($_GET['code']);
}
$params = [
'response_type' => 'code',
'client_id' => $client_id,
'redirect_uri' => 'http://localhost/index.php',
'state' => 'textOfYourChoice'
];
$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params);
header('Location: '.$url);