janwebdev/symfony-social-post-bundle

用于同时将相同消息发布到Facebook和Twitter的Symfony包

2.0 2024-03-31 13:49 UTC

This package is auto-updated.

Last update: 2024-08-31 00:44:08 UTC


README

Latest Stable Version Total Downloads

这是什么?

这是一个用PHP 8.1编写的Symfony包,封装了janwebdev/social-post - 一种简单的方式,可以在Facebook和Twitter上同时发布内容。它从这个仓库克隆而来,并重构以支持PHP 8.1+和Symfony 6.4 LTS及以上版本。

如何安装它?

推荐方式是通过Composer

composer require janwebdev/symfony-social-post-bundle

Symfony集成

添加社交网络配置

# Usually part of config.yml
social_post:
    publish_on: [facebook, twitter]         # List which Social networks you will be publishing to and configure your access to them as shown below
    providers:
        facebook:
            app_id: "YOUR-FACEBOOK-APP-ID"
            app_secret: "YOUR-FACEBOOK-APP-SECRET"
            default_access_token: "YOUR-FACEBOOK-NON-EXPIRING-PAGE-ACCESS-TOKEN"
            page_id: "YOUR-FACEBOOK-PAGE-ID"
            enable_beta_mode: true
            default_graph_version: "v15.0"
            persistent_data_handler: "memory"         # Optional, also supports "session". Default is "memory".
            pseudo_random_string_generator: "openssl" # Optional, also supports "mcrypt" and "urandom". Default is "openssl".
            http_client_handler: "curl"               # Optional, also supports "stream" and "guzzle". Default is "curl".
        twitter:
            consumer_key: "YOUR-TWITTER-APP-CONSUMER-KEY"
            consumer_secret: "YOUR-TWITTER-APP-CONSUMER-SECRET"
            access_token: "YOUR-TWITTER-ACCESS-TOKEN"
            access_token_secret: "YOUR-TWITTER-ACCESS-TOKEN-SECRET"

注册包

# Usually your app/AppKernel.php
<?php
// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
            new \Janwebdev\SocialPostBundle\SocialPostBundle(),
        ];
        return $bundles;
    }
    // ...
}

发布测试消息

# Some Symfony container aware class
<?php
//...
$message = new \Janwebdev\SocialPost\Message('your test message');
$container->get('social_post')->publish($message);

额外帮助

Facebook不支持非过期用户访问令牌。相反,您可以获取永久页面访问令牌。使用此类令牌时,您可以像页面本身一样执行和发布内容。有关页面访问令牌的更多信息,请参阅官方Facebook文档。一些Stackoverflow回答(这里这里)也可能有帮助。

许可证

本软件包采用MIT许可证授权。