lagdo/twitter-feed

基于 Jaxonajax 库的 Twitter 推文流。

dev-master 2022-08-16 01:41 UTC

This package is auto-updated.

Last update: 2024-09-16 08:16:12 UTC


README

此包可以将 Twitter 推文流添加到任何 PHP 应用程序中。

功能

  • 可以抓取主页、用户或提及时间线。
  • 可以在单页面上显示多个时间线。
  • 将抓取的时间线缓存起来,以限制对 Twitter 服务的调用。
  • 定期触发刷新(一分钟间隔)。

文档

安装 jaxon 库,以便从配置文件启动,并处理 Ajax 请求。这里是文档

使用 Composer 安装此包。如果您的框架存在Jaxon 插件,您也可以安装它。它将自动化前面的步骤。

Jaxon 配置文件app 部分中声明包和 Twitter 推文流。

    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\TwitterFeed\Package::class => [
                'timelines' => [
                    'home' => [
                        'type'       => 'home', // The type of timeline
                        'count'      => 10,     // The number of tweets to show
                        'auth'       => [
                            'consumer_key'        => '',
                            'consumer_secret'     => '',
                            'access_token'        => '',
                            'access_token_secret' => '',
                        ],
                    ],
                ],
            ],
        ],
    ],

可以声明多个时间线。它们可以使用相同的身份验证选项,也可以不使用。

    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\TwitterFeed\Package::class => [
                'auth' => [
                    'timeline_auth' => [
                        'consumer_key'        => '',
                        'consumer_secret'     => '',
                        'access_token'        => '',
                        'access_token_secret' => '',
                    ],
                ],
                'timelines' => [
                    'home_timeline' => [
                        'type'       => 'home',
                        'count'      => 10,
                        'auth'       => 'timeline_auth',
                    ],
                    'user_timeline' => [
                        'type'       => 'user',
                        'count'      => 10,
                        'auth'       => 'timeline_auth',
                    ],
                ],
            ],
        ],
    ],

使用 jaxon()->getCss()jaxon()->getScript(true) 调用来在您的应用程序的 HTML 页面中插入 CSS 和 JavaScript 代码。

在显示 Twitter 推文的页面中,使用 jaxon()->package(\Lagdo\TwitterFeed\Package::class)->timeline($timeline)->getHtml() 调用来插入其 HTML 代码。在获取 HTML 代码之前必须指定时间线。

然后有两种可能的情况。

  • 如果 Twitter 推文显示在专用页面上,在加载页面时调用 jaxon()->package(\Lagdo\TwitterFeed\Package::class)->ready()
  • 如果 Twitter 推文在一个已显示的页面上通过 Ajax 请求加载,在加载页面时执行调用 jaxon()->package(\Lagdo\TwitterFeed\Package::class)->getReadyScript() 返回的 JavaScript 代码。

注意

时间线的样式在 dist 目录下的 CSS 文件中定义。

贡献

  • 问题跟踪器:github.com/lagdo/twitter-feed/issues
  • 源代码:github.com/lagdo/twitter-feed

许可

该项目遵循 BSD 3-Clause 许可协议。