gacelabs / basic-instagram-feeds
为 Silverstripe 提供Instagram 登录代码和流收集器
dev-main
2023-10-30 02:04 UTC
Requires
- php: ^7.0|^8.2
- facebook/graph-sdk: ^5.7
- silverstripe/framework: ^4.0
This package is auto-updated.
Last update: 2024-09-30 01:35:51 UTC
README
这是一个 Silverstripe 插件,用于从 Instagram 基本显示 API 获取Instagram 流信息。
要求
- PHP ^7.0 | ^8.2
- Silverstripe 4.*
安装
composer require gacelabs/basic-instagram-feeds
- 为了创建您的 Instagram 应用,请按照以下步骤操作 遵循这些步骤
使用方法
- 将这些行添加到您的项目 _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 上跟踪 (插件问题)。