alpanayotov / instagram-helper
基于 WordPress 的库,用于从 Instagram 获取和保存数据
This package is not auto-updated.
Last update: 2024-09-14 19:09:27 UTC
README
Instagram Helper
基于 WordPress 的库,用于从 Instagram 获取和保存数据。
要求
- PHP 5 >= 5.3.0
- WordPress
- Instagram 客户端密钥和客户端 ID :)
重要!
如果 Instagram 在代码配置正确后没有任何返回,请阅读此内容 -- https://www.instagram.com/developer/review/
功能
- 通过用户名获取用户动态。
- 通过标签获取 Instagram 帖子。
- 将数据保存为自定义文章类型(按需)。
如何使用
将 instagram-helper.php
文件包含在您的 functions.php
中。此时,您需要使用 Factory
类创建一个 $client
。$client
负责处理认证过程
$client = Instagram_Helper\Factory::create( 'client', $configuration );
$configuration
数组应如下所示
$configuration = array(
'user_name' => 'instagram_user_name',
'client_id' => 'instagram_client_id',
'client_secret' => 'instagram_client_secret',
`);
$client
对象具有以下方法
get_redirect_uri()
-- 返回应放置在 Instagram 客户端有效的重定向 URI
字段中的重定向 URL。generate_authentication_url()
-- 返回应访问以启动认证过程的 URL。get_access_token()
-- 处理访问令牌的检索。不应直接使用。
认证完成后,您可以从 Instagram 获取帖子。为此,您需要使用 Factory
创建一个 $data_manager
对象。
$data_manager = Instagram_Helper\Factory::create( 'data_manager', $manager_config );
$manager_config
数组是可选的。然而,它可以包含请求的 limit
-- $manager_config = array( 'limit' => 5 )
。这将强制所有查询的默认限制为 5 个条目。
$data_manager
具有以下方法
fetch_user_feed( array( 'limit' => 5 ) )
-- 获取配置中使用的$client
的用户动态的最后 5 个帖子。fetch_hashtag_feed( array( 'limit' => 5, 'hashtag' => 'tag' ) )
-- 获取带有该标签的最后 5 个帖子get_feed_data()
-- 返回通过fetch_user_feed
或fetch_hashtag_feed
方法获取的数据。clear_feed_data()
-- 删除通过fetch_user_feed
或fetch_hashtag_feed
方法获取的数据flush_cache()
-- 删除数据转瞬即逝(默认情况下,数据存储在转瞬即逝中)。get_transient_lifetime()
-- 返回所使用的转瞬即逝的生存期。set_transient_lifetime()
-- 设置转瞬即逝的生存期(默认为 300 秒)。
示例
$client_config = array(
'user_name' => 'instagram_user_name',
'client_id' => 'instagram_client_id',
'client_secret' => 'instagram_client_secret',
);
$client = Instagram_Helper\Factory::create( 'client', $client_config );
$data_manager = Instagram_Helper\Factory::create( 'data_manager', array( 'limit' => 5 ) );
$data_manager->fetch_user_feed();
$feed = $data_manager->get_feed_data(); //the data from instagram in now available in $feed
附加功能
帖子存储
有时,您可能需要保存 Instagram 的数据以供以后使用。为此,您可以使用 posts_store
对象及其 save()
方法。
$storer = Instagram_Helper\Factory::create( 'posts_store', array( 'update_count' => 2 ) );
$storer->save( $feed );
update_count
指定应使用 Instagram 的新信息更新多少个已存在的帖子(此功能仍在开发中 :) )
Carbon Fields 集成
如果您正在使用 Carbon Fields
库,可以利用 Carbon_Helper.php
类。它必须与 $client
对象一起使用。
$client = Instagram_Helper\Factory::create( 'client', array( 'enable_carbon_support' => true ) );
$carbon_helper = Instagram_Helper\Factory::create( 'carbon_helper', $client );
$carbon_helper->create_options_page();
create_options_page()
方法在后台创建一个页面,包含所有需要 $client
的信息字段。$client
将自行获取这些信息,您无需做任何事情。