audiogram/socializer

直接从您的代码库中自动创建社交媒体营销材料!

dev-master 2018-06-09 23:37 UTC

This package is not auto-updated.

Last update: 2024-09-25 03:17:21 UTC


README

从Laravel模型自动创建社交媒体帖子并通过Buffer发布!

警告:此包尚未经过充分测试,仍在开发中。目前不遵循语义版本控制。

安装

composer require audiogram/socializer

然后发布供应商文件。

php artisan vendor:publish

将您的Buffer凭据添加到config/socializer.php文件中。

'buffer_credentials' => [
        'client_id'     => env('BUFFER_CLIENT_ID'),
        'client_secret' => env('BUFFER_CLIENT_SECRET'),
        'access_token'  => env('BUFFER_ACCESS_TOKEN'),
    ],

    'buffer_profile_ids' => [
        'facebook' => env('BUFFER_FACEBOOK_PROFILE_ID'),
        'twitter'  => env('BUFFER_TWITTER_PROFILE_ID'),
    ],

现在您应该已经设置好了。

用法

选择一个您想要开始创建社交媒体帖子的模型。在这个例子中,我们将使用一个名为Event的模型,该模型可能代表您应用程序中列出的本地活动。

只需在您的模型上添加SocializableInterface并实现toSocializable()方法。

use Illuminate\Database\Eloquent\Model;
use Audiogram\Socializer\SocializableInterface;

class Event extends Model implements SocializableInterface
{
  protected $fillable = ['name', 'location', 'image_url'];
  
  // ...
  
  public function toSocializable(): Audiogram\Socializer\Socializable
  {
    return (new Socializable())
      // Set the background image
      ->backgroundImagePath($this->image_url)
      // Set the image overlay text
      ->textOverlay($this->name)
      // Set the text for your post
      ->postText('Checkout our latest event ' . $this->name . ' taking place at ' . $this->location);
  }
}

您的模型现在被认为是“可社交化”的。要实际创建社交媒体帖子并发送到Buffer,您可以使用这个方便的辅助方法。如果您想定义Eloquent事件并从中调用它,这特别有用。一个很好的例子是在模型创建时抛出一个Eloquent事件,并将新创建的模型传递给辅助方法,以动态创建社交媒体帖子。

$event = Event::first();
socialize($event);

恭喜!您的帖子已创建,并附带图片和所需的帖子文本,已发送到您的Buffer账户。

要求

Socializer依赖于以下包。

intervention/image: ^2.4
guzzlehttp/guzzle: ^6.3

问题

如果您遇到困难,遇到错误,或对改进此包有任何问题/建议,请随时在GitHub上创建一个问题,我会尽快处理。

许可证

本项目符合MIT许可证(MIT)。