blackmagic / instagrammedia
插件,用于通过Facebook的Instagram Basic API检索Instagram媒体
Requires
- craftcms/cms: ^3.0.0-RC1
- espresso-dev/instagram-basic-display-php: ^1.1
This package is not auto-updated.
Last update: 2024-10-01 13:56:01 UTC
README
Craft 3 CMS插件,用于使用Facebook的“Instagram Basic API”检索您有权限访问的Instagram媒体
我创建了这个插件,以简化并方便从我有权限访问的Instagram账号中检索数据的方式。目前,此插件不会自动续订长期令牌。为了续订它,您必须在令牌过期之前重新保存插件。
需求
- Craft 3
- espresso-dev/instagram-basic-display-php
安装
cd /path/to/project
composer require heyblackmagic/instagrammedia
./craft install/plugin instagrammedia
配置
为了使用Facebook的Instagram Basic API,您需要使用Facebook开发者账户之前创建一个应用程序。如果您不确定如何实现这一点,请按照这里的说明进行操作。
在应用程序设置完成后,您应该有一个Instagram应用ID、Instagram应用密钥和Instagram应用重定向URI。
-
在Craft CMS中,切换到控制面板的设置页面,并输入上述值,然后点击保存。如果所有字段都正确输入,保存后,您现在应该看到一个获取授权链接的红色按钮和一个Instagram API令牌的空字段。
-
点击“获取授权链接”,这将重定向您到您的网站内的404页面(这是预期的)。URL应类似于这样:
https://mywebsite.com/auth/?code=AQBx-hBsH3...#_
-
复制(不包括)
=
和#_
之间的代码。注意,#_
将附加到重定向URI的末尾,但它不是代码本身的一部分,因此将其删除。将此代码粘贴到插件设置中的Instagram API令牌字段中,然后点击保存。
如果一切设置正确,您现在应该看到一个成功连接到Instagram API的消息和一个60天的到期日。为了在令牌过期之前续订令牌,只需保存插件即可,它会续订长期令牌。
使用方法
要从您的账号获取媒体,调用getMedia()
,您可以在Instagram Basic API文档中检查所有可用字段。
示例
{% set media = craft.instagram.getMedia() %}
{% for item in media %}
<li>
...
</li>
{% endfor %}
以下是一个示例,如果您需要检查项目是否有标题,或者项目是视频还是图片。您需要这样做,因为图片和视频分别有不同的图片URL和视频缩略图来源
{% set media = craft.instagram.getMedia() %}
{% for item in media %}
{% set permalink = item.permalink %}
{% set caption = item.caption is defined ? item.caption : 'Instgram Picture' %}
<li>
{% if item.media_type == 'VIDEO'%}
<a href="{{permalink}}" target="_blank"><img src="{{item.thumbnail_url}}" alt="{{caption}}"></a>
{% else %}
<a href="{{permalink}}" target="_blank"><img src="{{item.media_url}}" alt="{{caption}}"></a>
{% endif %}
</li>
{% endfor %}
待办事项
- 添加长期令牌的自动续订。
- 更好的错误处理。
- 添加获取帖子数量的限制。