gacelabs/basic-instagram-feeds

为 Silverstripe 提供Instagram 登录代码和流收集器

安装: 2

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

dev-main 2023-10-30 02:04 UTC

This package is auto-updated.

Last update: 2024-09-30 01:35:51 UTC


README

Silverstripe supported module

这是一个 Silverstripe 插件,用于从 Instagram 基本显示 API 获取Instagram 流信息。

要求

  • PHP ^7.0 | ^8.2
  • Silverstripe 4.*

安装

composer require gacelabs/basic-instagram-feeds

使用方法

  • 将这些行添加到您的项目 _config/app.yml 或 _config/mysite.yml 中
Instagram:
  app_id: 'YOUR-INSTAGRAM-APP-ID'
  app_secret: 'YOUR-INSTAGRAM-APP-SECRET'
  generated_token: 'YOUR-INSTAGRAM-USER-TOKEN'

获取生成的_token值: 访问您的 Facebook 开发者网站 上的 Instagram Basic Display,然后转到 基本显示 > 用户令牌生成标签,添加 Instagram 测试用户,然后点击 生成令牌 按钮以获取该Instagram用户的生成令牌

如果您不想添加生成的_token值: 安装并应用使用方法后,如果您没有生成_token值,请运行 dev/build,然后转到 CMS 菜单 设置 > Instagram 标签,并单击“连接帐户”按钮以初始化第一个访问令牌

  • 设置自己的缓存文件和重定向URI
Instagram:
  app_id: 'YOUR-INSTAGRAM-APP-ID'
  app_secret: 'YOUR-INSTAGRAM-APP-SECRET'
  cache_file: 'YOUR-CACHE-TXT-FILENAME'
  redirect_uri: 'YOUR-INSTAGRAM-REDIRECT-URI'

关于redirect_uri的说明: 在您的Instagram客户端OAuth设置 Facebook 开发者网站 中添加它,然后在您的重定向URI脚本中回显GET参数“code”,以获取访问令牌,请参阅 插件控制器

获取数据

  • 在后台
$Posts = SiteConfig::current_site_config()->getInstagramPosts();

// or pull it from the cache file 
$Posts = SiteConfig::current_site_config()->getCachedFeed();
  • 在前端
<%-- Default --%>
<% if $SiteConfig.getInstagramPosts.Count %>
  <% loop $SiteConfig.getInstagramPosts %>
    <%-- code here --%>
  <% end_loop %>
<% end_if %>

<%-- From cache file --%>
<% if $SiteConfig.getCachedFeed.Count %>
  <% loop $SiteConfig.getCachedFeed %>
    <%-- code here --%>
  <% end_loop %>
<% end_if %>

返回字段

  • ID
  • 用户名
  • 说明
  • 链接
  • 图片
  • 时间戳

扩展 InstagramSiteConfigExtension 类

  • 更新结果数据
namespace Your\NameSpace;

use SilverStripe\ORM\DataExtension;
use SilverStripe\ORM\ArrayList;

class YourAnotherInstagramSiteConfigExtension extends DataExtension
{
  /**
   * Updates the default results.
   * 
   * @param ArrayList $list (assembled result)
   * @param array $data (instagram posts results)
   */
  public function updateInstagramPosts(ArrayList $list, $data)
  {
    // code
  }

  /**
   * Updates the cache results.
   * 
   * @param $cache (parsed result)
   */
  public function updateCachedFeed($cache)
  {
    // code
  }
}

错误追踪器

错误在 github.com 上跟踪 (插件问题)。

链接