mediadesk / linkedin-manager
LinkedIn API Wrapper for Laravel
Requires
- php: >=8.1
- illuminate/support: *
This package is auto-updated.
Last update: 2024-06-03 10:06:58 UTC
README
LinkedIn Integration Package for Laravel (Unofficial Package)
This package provides integration with the LinkedIn API for Laravel applications. It allows you to perform various LinkedIn-related tasks such as authenticating users, retrieving profiles, creating and deleting posts, and more.
Please Note: This package is currently in active development and should be used with caution. While we are working hard to ensure stability and functionality, there might be frequent updates and changes that could impact your usage.
Important: Business Developer Account Requirement
Creating and managing accounts on behalf of another user requires a Business Developer account on LinkedIn. Make sure you have the necessary permissions and access before using this feature.
Get Started
Requires PHP 8.1+
To get started with the LinkedinManager package, follow these steps:
Install the package using Composer:
composer require mediadesk/linkedin-manager
Publish Config File
To customize the configuration settings of the Mediadesk Linkedin Manager package, you can publish the config file using the following Artisan command:
php artisan vendor:publish --tag=mediadesk-linkedin
Configuration
Ensure the following environment variables are set in your .env file:
LINKEDIN_CLIENT_ID= LINKEDIN_CLIENT_SECRET= LINKEDIN_CALLBACK=
Usage
Creating Login URL
To create a login URL for LinkedIn authentication, make sure to add the callback URI to your LinkedIn Developer application. Then, use the following code:
$linkedin_agent = new LinkedinAgent(); $loginUrl = $linkedin_agent->getLoginUrl();
Generating Access Token
Generate an access token from the callback URL. You will receive the code and state in the URL parameters. Use the following code:
$linkedin_agent = new LinkedinAgent(); $access_token = $linkedin_agent->getAccessToken($code, $state);
Managing User Profiles
Retrieve user profile information, including member ID, name, and profile image, using the following code:
$linkedin_profile = $linkedin_agent->getProfile($access_token); $member_id = $linkedin_profile->getMemberId(); $name = $linkedin_profile->getName(); $profile_image = $linkedin_profile->getProfileImage();
Creating Text Posts
Create a text-only post on LinkedIn using the following code:
$linkedin_agent->createTextPost('Hello world!', $member_id, $access_token);
Creating Posts with Media
To create a post with media, you'll need to register the media and then upload it. Here's how:
$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);
Deleting a Post
Delete a post using the following code:
$linkedin_agent->deletePost($post_id, $access_token);
Contributing
Contributions are welcome! If you encounter any issues or have suggestions, please open an issue.
License
Linkedin Manager is an open-sourced software licensed under the MIT license.