cnrp/laravel-instagram-feed

此包最新版本(v1.0.0)没有可用的许可证信息。

为Laravel定制的Instagram动态实现

v1.0.0 2024-07-27 22:16 UTC

This package is auto-updated.

Last update: 2024-09-27 22:51:35 UTC


README

这是一个用于通过Filament集成获取、存储和显示Instagram动态的Laravel包。该包提供了一个高效的方式来管理您的Laravel应用中的Instagram内容。

功能

  • 通过Instagram进行OAuth身份验证
  • 支持多个Instagram个人资料
  • 获取和存储Instagram动态数据
  • 将Instagram帖子及媒体作为Eloquent模型存储
  • 在Laravel Filament管理面板中显示和管理Instagram动态
  • 自动将图片转换为WebP格式,提高性能

安装

您可以通过composer安装此包

composer require cnrp/laravel-instagram-feed

包将自动注册其服务提供者。

配置

包附带一个默认配置文件。如果您需要自定义这些设置,可以发布配置文件

php artisan vendor:publish --tag="instagram-feed-config"

这将在您的应用程序配置目录中创建一个config/instagram-feed.php文件。默认配置如下所示

<?php

return [
    'client_id' => env('INSTA_CLIENT'),
    'client_secret' => env('INSTA_SECRET'),
    'redirect_uri' => env('INSTAGRAM_REDIRECT_URI', 'auth/instagram/callback'),
    'debug' => [
        'log_info' => env('INSTAGRAM_FEED_LOG_INFO', true),
        'log_errors' => env('INSTAGRAM_FEED_LOG_ERRORS', true),
    ],
];

配置选项

  • client_id:您的Instagram API客户端ID。
  • client_secret:您的Instagram API客户端密钥。
  • redirect_uri:Instagram身份验证后重定向到的URI。默认为'auth/instagram/callback'。
  • 调试:
    • log_info:是否记录信息性消息。
    • log_errors:是否记录错误消息。

请确保在您的.env文件中设置适当的值

INSTA_CLIENT=your_client_id
INSTA_SECRET=your_client_secret

用法

在Filament管理面板中

此包提供了一个用于管理Instagram动态的Filament页面。您可以在/admin/instagram-manager访问它。

  1. 导航到您的Filament管理面板中的Instagram管理器页面。
  2. 点击“添加新个人资料”以通过Instagram进行身份验证。
  3. 身份验证后,您可以查看和管理多个Instagram个人资料及其动态。
  4. 使用“刷新动态”按钮手动更新选定个人资料的动态。

要发布Instagram管理页面样式,请运行以下命令 php artisan filament:assets

程序性使用

您还可以以编程方式使用此包

use CNRP\InstagramFeed\Facades\InstagramFeed;

// Get a profile
$profile = \CNRP\InstagramFeed\Models\InstagramProfile::find($profileId);

// Refresh the feed for a profile
InstagramFeed::refreshFeed($profile);

// Get the feed for a profile
$feed = InstagramFeed::getFeed($profile);

模型

该包提供了以下Eloquent模型

  • InstagramProfile:表示已验证的Instagram个人资料
  • InstagramPost:表示单个Instagram帖子
  • InstagramMedia:表示与帖子关联的媒体(图片/视频)

您可以使用标准的Eloquent操作与这些模型进行交互。

WebP转换

当存储时,图片自动转换为WebP格式,从而提高加载时间并优化存储使用。

计划中的功能

  • 计划刷新身份验证令牌和获取动态
  • 批量调用api/download
  • 可定制的前端组件
  • 可配置的压缩设置/禁用转换
  • 隐藏帖子

许可证

此包是开源软件,许可证为MIT许可证

支持

如果您遇到任何问题或有任何疑问,请在GitHub上创建问题