mediadesk/linkedin-manager

Laravel 的 LinkedIn API 包装器

1.0.1 2023-09-03 08:22 UTC

This package is auto-updated.

Last update: 2024-10-03 10:48:08 UTC


README

Laravel 的 LinkedIn 集成包(非官方包)

此包为 Laravel 应用程序提供与 LinkedIn API 的集成。它允许您执行各种与 LinkedIn 相关的任务,如用户身份验证、检索个人资料、创建和删除帖子等。

请注意:此包目前正在积极开发中,应谨慎使用。虽然我们正在努力确保稳定性和功能,但仍可能有频繁的更新和更改,可能会影响您的使用。

重要:需要商业开发者账户

代表其他用户创建和管理账户需要在 LinkedIn 上有商业开发者账户。在使用此功能之前,请确保您有必要的权限和访问权限。

开始使用

需要 PHP 8.1+

要开始使用 LinkedinManager 包,请按照以下步骤操作

使用 Composer 安装包

composer require mediadesk/linkedin-manager

发布配置文件

要自定义 Mediadesk Linkedin Manager 包的配置设置,您可以使用以下 Artisan 命令发布配置文件

php artisan vendor:publish --tag=mediadesk-linkedin

配置

确保以下环境变量已在您的 .env 文件中设置

LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=
LINKEDIN_CALLBACK=

使用方法

创建登录 URL

要创建 LinkedIn 身份验证的登录 URL,请确保将回调 URI 添加到您的 LinkedIn 开发者应用程序中。然后,使用以下代码

$linkedin_agent = new LinkedinAgent();
$loginUrl       = $linkedin_agent->getLoginUrl();

生成访问令牌

从回调 URL 生成访问令牌。您将在 URL 参数中收到代码和状态。使用以下代码

$linkedin_agent = new LinkedinAgent();
$access_token   = $linkedin_agent->getAccessToken($code, $state);

管理用户个人资料

使用以下代码检索用户个人资料信息,包括成员 ID、名称和个人资料图片

$linkedin_profile = $linkedin_agent->getProfile($access_token);
$member_id        = $linkedin_profile->getMemberId();
$name             = $linkedin_profile->getName();
$profile_image    = $linkedin_profile->getProfileImage();

创建纯文本帖子

使用以下代码在 LinkedIn 上创建仅文本的帖子

$linkedin_agent->createTextPost('Hello world!', $member_id, $access_token);

创建带媒体内容的帖子

要创建带媒体内容的帖子,您需要注册媒体并上传它。以下是方法

$image_register   = (new LinkedinMediaRegister($member_id))->register($access_token);
$media_id         = $linkedin_agent->uploadMedia($image_register, '/path/to/media/file', $access_token);
$LinkedinMedia[]  = $linkedin_agent->LinkedinMedia('Cat', 'Working on iOS', $media_id);

$linkedin_agent->createPostWithMedia('Wow, a beautiful cat here!', $LinkedinMedia, $member_id, $access_token);

删除帖子

使用以下代码删除帖子

$linkedin_agent->deletePost($post_id, $access_token);

贡献

欢迎贡献!如果您遇到任何问题或有建议,请创建一个问题。

许可

Linkedin Manager 是一个开源软件,根据 MIT 许可协议 许可。