phillipsdata / linkedin
PHP LinkedIn SDK
2.2.0
2019-03-04 16:27 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-05 05:36:17 UTC
README
此库允许您与LinkedIn API进行通信。它非常通用,并依赖于用户了解其目标端点和要提交的数据。
安装
通过composer安装
composer require phillipsdata/linkedin
使用方法
首先,实例化该类
$linkedin = new LinkedIn( 'LINKEDIN_API_KEY', 'LINKEDIN_API_SECRET', 'LINKEDIN_CALLBACK_URL' );
获取一个访问并授权的URL
$permissions_url = $linkedin->getPermissionUrl( array( 'r_basicprofile', 'r_liteprofile', 'w_share', 'w_member_social' ) );
这里的参数是一系列'scope'。如果授权,它们将决定您可以执行哪些API调用。
API v1 权限
- r_basicprofile
- r_emailaddress
- w_share
- rw_company_admin
API v2 权限
- r_liteprofile(替换r_basicprofile)
- r_emailaddress
- w_member_social(替换w_share)
访问$permission_url后,您将被重定向到构造函数中提交的'LINKEDIN_CALLBACK_URL'。重定向将向该位置提交一个'code' GET参数,该参数可用于生成一个访问令牌,该令牌将用于授权未来的API调用。
$tokenResponse = $linkedin->getAccessToken($_GET['code']); if ($tokenResponse->status() == 200) { // Record $tokenResponse->response() in some way } else { echo $tokenResponse->errors(); }
如果您想以某种方式存储它,这将返回访问令牌。此外,它将在您的当前LinkedIn对象上设置令牌,该对象将用于您进行的任何API调用。
在此之后,您可以执行任何您喜欢的API调用,只要您知道端点和所需的数据
有关如何制作分享请求的完整说明,请参阅此处文档
$data = [ 'author' => 'urn:li:person:123456', 'lifecycleState' => 'PUBLISHED', 'specificContent' => [ 'com.linkedin.ugc.ShareContent' => [ 'shareCommentary' => [ 'text' => "Leverage LinkedIn's APIs to maximize engagement" ], 'shareMediaCategory' => 'NONE' ] ], 'visibility' => ['com.linkedin.ugc.MemberNetworkVisibility' => 'PUBLIC'] ]; $shareResponse = $linkedin->post('v2/ugcPosts', $data);
响应以LinkedInAPIResponse对象返回,可以像这样访问
$shareResponse->headers(); // An array of header fields and their values $shareResponse->raw(); // Exactly what was returned by LinkedIn, including headers $shareResponse->response(); // An object containing the data returned by LinkedIn $shareResponse->errors(); // Any errors given in the response $shareResponse->status(); // The status code returned by the request
API还有一个名为share()的方法,它通过按照LinkedIn期望的方式格式化数据来减轻用户的负担。
此方法在v2.x之前工作方式不同。它使用LinkedIn API的版本1,并默认设置端点。
$shareResponse = $linkedin->share('Leverage LinkedIn's APIs to maximize engagement');
或
$shareResponse = $linkedin->share( 'Leverage LinkedIn's APIs to maximize engagement', [ 'urn' => 'urn:li:digitalmediaAsset:C5422AQEbc381YmIuvg', 'type' => 'IMAGE', 'title' => 'LinkedIn API', 'description' => 'Shows how great the LinkedIn API is.' ], 'CONNECTIONS' );