janwebdev / symfony-social-post-bundle
用于同时将相同消息发布到Facebook和Twitter的Symfony包
2.0
2024-03-31 13:49 UTC
Requires
- php: >=8.1
- janwebdev/social-post: ^2.0
- symfony/framework-bundle: >=v6.4.0
- symfony/yaml: >=v6.4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.52
- php-coveralls/php-coveralls: ^2.7
- phpstan/phpstan: ^1.0
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9|^10|^11
- sensiolabs-de/deptrac-shim: ^1.0
- slam/phpstan-extensions: ^6.0
- symfony/phpunit-bridge: >=6.4.0
README
这是什么?
这是一个用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许可证授权。