florianklee/social-feed-bundle

从所有类型的社交账号(如twitter、instagram、facebook)收集帖子。

安装: 6

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 13

类型:symfony-bundle

v1.0.3 2016-09-05 16:32 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:28:42 UTC


README

GenjSocialFeedBundle。特性

  • 从Twitter、Instagram和Facebook页面抓取社交帖子。
  • 显示最新帖子

要求

安装

将此包和facebook/instagram/twitter库添加到您的composer.json中

    ...
    "require": {
        ...
        "genj/social-feed-bundle": "dev-master"
        ...

然后运行composer update。完成后,在AppKernel.php中启用此包。

通用

# app/AppKernel.php

class AppKernel extends Kernel
{

    public function registerBundles() {

        $bundles = array(
            ...
            new Genj\SocialFeedBundle\GenjSocialFeedBundle()
            ...

更新您的数据库模式

php app/console doctrine:schema:update --force

配置

将social_feed.yml.dist复制到app/config/social_feed.yml,并添加所有必要的配置。删除不需要的服务提供商。

通过转储配置检查所有可能的配置

app/console config:dump-reference GenjSocialFeedBundle

通过向parameters.yml.dist添加以下内容,将您的基本API令牌添加到parameters.yml中

genj_social_feed.twitter.consumer_key: null
genj_social_feed.twitter.consumer_secret: null
genj_social_feed.twitter.user_token: null
genj_social_feed.twitter.user_secret: null

genj_social_feed.facebook.app_id: null
genj_social_feed.facebook.app_secret: null
genj_social_feed.facebook.client_token: null

genj_social_feed.instagram.client_id: null

然后运行composer的安装命令

php composer.phar install

您的config.yml将看起来像这样:(省略不使用的提供商)

genj_social_feed:
    oAuth:
        twitter:
            consumer_key:    %genj_social_feed.twitter.consumer_key%
            consumer_secret: %genj_social_feed.twitter.consumer_secret%
            user_token:      %genj_social_feed.twitter.user_token%
            user_secret:     %genj_social_feed.twitter.user_secret%
        facebook:
            app_id:          %genj_social_feed.facebook.app_id%
            app_secret:      %genj_social_feed.facebook.app_secret%
            client_token:    %genj_social_feed.facebook.client_token%
        instagram:
            client_id:       %genj_social_feed.instagram.client_id%
    feed_users:
        twitter:
            - nicokaag
        facebook:
            - nicokaag
        instagram:
            - nicokaag

将需要的vich映射配置添加到config.yml中

...
vich_uploader:
    ...
    mappings:
        ...
        genj_socialfeed_post_file:
            uri_prefix:         /uploads/genjsocialfeedpost
            upload_destination: %kernel.root_dir%/../web/uploads/genjsocialfeedpost
            namer:              vich_uploader.namer_origname
            inject_on_load:     true
        genj_socialfeed_post_author_file:
            uri_prefix:         /uploads/genjsocialfeedpostauthor
            upload_destination: %kernel.root_dir%/../web/uploads/genjsocialfeedpostauthor
            namer:              vich_uploader.namer_origname
            inject_on_load:     true

如果您想利用JSON API调用获取社交帖子,请添加以下路由

genj_social_feed_posts_get:
    pattern:  /api/social-feed/posts
    defaults:
        _controller: GenjSocialFeedBundle:SocialFeed:getPosts
        _format: ~
        max: 5
        provider: ""
    requirements:
        _method: GET
        max: '^\d+$'

运行feed scraper任务

php app/console genj:social-feed --provider=facebook

提供商可以是

  • facebook
  • twitter
  • instagram

待办事项

  • 添加测试