blackmagic/instagrammedia

插件,用于通过Facebook的Instagram Basic API检索Instagram媒体

安装: 958

依赖关系: 0

建议: 0

安全: 0

星标: 3

关注者: 2

分支: 0

开放问题: 1

类型:craft-plugin

1.0.0 2020-03-09 15:14 UTC

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。

  1. 在Craft CMS中,切换到控制面板的设置页面,并输入上述值,然后点击保存。如果所有字段都正确输入,保存后,您现在应该看到一个获取授权链接的红色按钮和一个Instagram API令牌的空字段。

  2. 点击“获取授权链接”,这将重定向您到您的网站内的404页面(这是预期的)。URL应类似于这样:https://mywebsite.com/auth/?code=AQBx-hBsH3...#_

  3. 复制(不包括)=#_之间的代码。注意,#_将附加到重定向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 %}

待办事项

  • 添加长期令牌的自动续订。
  • 更好的错误处理。
  • 添加获取帖子数量的限制。