laravelia/autoposter

A Laravel package for auto posting social site

v1.0.1 2023-03-05 06:49 UTC

This package is auto-updated.

Last update: 2024-04-05 09:09:46 UTC


README

Installation

About Package

Laravelia Autoposter is a composer package for Laravel application. This package will help you to auto post or auto share your content on social media. In this initial release, we are providing Facebook and Tumblr to share your contect automatically.

Step One

In this first step, go to your project root directory and open your_project/composer.json file and update it with this below code:

project/composer.json

"require": {
    "laravelia/autoposter": "^1.0.1"
},

And run 🦊

composer update

Or you can install it via composer directly 🦊

composer require laravelia/autoposter

Step Two

In this second step, You need to publish autoposter vendor to get config/autoposter.php.

php artisan vendor:publish --provider='Laravelia\Autoposter\AutoPosterServiceProvider

This command will generate config/autoposter.php file and configure it with your credentials like this 🦊

your_project/config/autoposter.php

<?php

return [
    'facebook' => [
        'APP_ID' => '',
        'APP_SECRET' => '',
        'PAGE_ACCESS_TOKEN' =>'',
        'FACEBOOK_PAGE_ID' => '',
        'ENABLE_FACEBOOK_PAGE_SHARE' => false,
    ],
    'tumblr' => [
        'CONSUMER_KEY' => '',
        'SECRET_KEY' => '',
        'TOKEN' => '',
        'TOKEN_SECRET' => '',
        'BLOG_NAME' => '',
        'ENABLE_TUMBLR_SHARE' => false
    ]
];

Make sure after adding the credentials, ENABLE_FACEBOOK_PAGE_SHARE and ENABLE_TUMBLR_SHARE make it false to true. Otherwise it won't work.

Step Three

Now look at that, how you can use this package.

<?php

use App\Models\Post;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravelia\Autoposter\Services\SocialShareService as SocialShare;

class ExampleController extends Controller
{   
    public function storePost(Request $request, SocialShare $socialShare)
    {   
        $post = Post::create($request->all());

        $data = [
            'link' => $post->permalink, //your content link
            'title' => $post->title, //your content title
            'excerpt' => $post->excerpt, //your content short text
            'tags' => $post->tags, //your contect tags ex: test, test2, test3
            'attachment_url' => $post->attachment //your contect attachment link
        ];

        $socialShare->share($data);

        //continue with your code
    }
}