goldfinch/socialkit

为 Silverstripe 集成 Facebook/Instagram API (META)

安装: 752

依赖关系: 0

建议者: 0

安全: 0

星星: 2

观察者: 1

分支: 0

类型:silverstripe-vendormodule

v2.0.3 2024-05-16 03:01 UTC

README

Silverstripe Version Package Version Total Downloads License

Meta

Silverstripe 社交媒体元集成。将 Facebook/Instagram 帖子作为网站上的动态内容获取并显示。易于定制。

安装

composer require goldfinch/social-media

1. 创建 Meta 应用

developers.facebook.com/apps/creation

2. 生成加密密钥

所有来自 Meta(ID、密钥、令牌)的敏感数据都在数据库中加密。因此我们需要一个密钥。您可以使用运行 CLI 命令的 Taz🌪️ 模块来生成它

php taz generate:encryption-key

或导出辅助函数

LeKoala\Encrypt\EncryptHelper::generateKey();

3. 在 .env 中保存密钥

ENCRYPTION_KEY={mykey}

4. 设置 Facebook 动态内容

✅ 确保保存。一切准备就绪 🎉

要获取 长期访问令牌,请点击 获取 按钮,或运行 /dev/tasks/SocialMediaToken

要获取帖子,请在同一页面上点击 同步 按钮,或转到 /dev/tasks/SocialMediaSync

5. 设置 Instagram 动态内容

✅ 确保保存。一切准备就绪 🎉

要获取帖子,请在同一页面上点击 同步 按钮,或转到 /dev/tasks/SocialMediaSync

定时任务

您可能需要设置定时任务以进行自动化

/dev/tasks/SocialMediaRefresh # refresh token once in 4 weeks
/dev/tasks/SocialMediaSync # once in hour (or as you wish)

用法

Facebook & Instagram 帖子的混合社交动态内容(按帖子日期排序)

$SocialFeed

仅 Facebook 动态内容

$SocialFeed.FacebookFeed
$SocialFeed.FacebookFeed(15)

Facebook 帖子作为 ArrayList

<% loop $SocialFeed.FacebookPosts %>
<% loop $SocialFeed.FacebookPosts(15) %>

仅 Instagram 动态内容

$SocialFeed.InstagramFeed
$SocialFeed.InstagramFeed(15)

Instagram 帖子作为 ArrayList

<% loop $SocialFeed.InstagramPosts %>
<% loop $SocialFeed.InstagramPosts(15) %>

模板和修改

为了根据您的需求修改模板,请将它们复制到您的templates文件夹中。使用Taz命令,该命令可为您完成此操作

如果您之前没有使用过Taz🌪️,则taz文件必须在您的根项目文件夹中cp vendor/goldfinch/taz/taz taz

php taz vendor:social-media:templates

基础块

如果您使用silverstripe-elemental,此模块附带社交媒体块,该块可为您处理社交媒体流

有用数据

社交链接字段

您还可以使用此模块存储社交链接社交媒体 > 主

<% with SocialMediaConfig %>
  <% if GeneralFacebook %>
    <a href="{$GeneralFacebookURL}" target="_blank" rel="nofollow">Facebook</a>
  <% end_if %>
  <% if GeneralInstagram %>
    <a href="{$GeneralInstagramURL}" target="_blank" rel="nofollow">Instagram</a>
  <% end_if %>
  <%-- same for Twitter, LinkedIn, YouTube --%>
<% end_with %>

Instagram字段

caption,id,is_shared_to_feed, media_type,media_url,permalink,thumbnail_url,timestamp,username,children

Facebook字段

id,actions,admin_creator,allowed_advertising_objects,application,attachments,backdated_time,call_to_action,can_reply_privately,child_attachments,created_time,feed_targeting,from,full_picture,icon,instagram_eligibility,is_eligible_for_promotion,is_expired,is_hidden,is_instagram_eligible,is_popular,is_published,is_spherical,message,message_tags,parent_id,permalink_url,place,privacy,promotable_id,properties,sheduled_publish_time,shares,status_type,story,story_tags,subscribed,targeting,to,updated_time,video_buying_eligibility,likes.summary(total_count),comments.summary(total_count),reactions.summary(total_count)

预览

API设置

API settings

演示社交媒体输出

Demo socialfeed

许可

MIT许可(MIT)