iluminar/fluent-facebook

此包已被废弃,不再维护。未建议替代包。

一个用于在 Laravel 5 中轻松读取和写入 Facebook 图形对象的 Laravel 5 包

dev-master 2016-11-01 18:21 UTC

This package is auto-updated.

Last update: 2022-07-08 03:00:57 UTC


README

License StyleCI Twitter URL

文档

一个用于在 Laravel 5 中轻松读取和写入 Facebook 图形对象的 Laravel 5 包。看看如何轻松地从 Facebook 图形 API 读取。

$user = Auth::user();
$user = Fluent::user($user->fb_id)->get();

就是这样。$user 对象是 Facebook 用户数据的一个集合(Illuminate\Support\Collection)。

如果您想获取额外的信息,如关于、first_name、教育等,只需在 with 方法中传递一个包含字段名称的数组。

$user = Auth::user();
$fields = ['hometown', 'first_name', 'about', 'birthday', 'cover', 'education'];
$user = Fluent::user($user->fb_id)->with($fields)->get();

如果您想获取用户的动态,只需将 feed 方法链接到用户对象。

$user = Auth::user();
$feed = Fluent::user($user->fb_id)->feed()->get();

如果您想获取帖子的信息,只需将帖子 ID 传递给 post 方法。

$user = Auth::user();
$posts = Fluent::post($post_id)->get();

安装

您可以通过 composer 拉取此包

$ composer require iluminar/fluent-facebook

或者您可以在 composer.json 中添加以下内容

"require": {
    "iluminar/fluent-facebook": "dev-develop"
}

然后从项目的根目录在终端运行以下命令

$ composer update

更新 composer 后,将 fluent 服务提供者添加到 config/app.php 文件中的 providers 数组中。

 'providers' => array(
        // ...
        Iluminar\Fluent\Providers\FluentServiceProvider::class,
    )

然后在终端中运行以下命令

$ php artisan vendor:publish

要为您的数据库运行以下命令以添加包表

$ php artisan migrate

配置

首先,您需要 创建一个 Facebook 应用 并在配置文件中设置 app_idapp_secretredirect_uri

'facebook' => [
    'client_id' => env('FB_APP_ID'),
    'client_secret' => env('FB_APP_SECRET'),
    'redirect_uri' => env('FB_REDIRECT_URI'),
],

要定义您的应用需要的权限,您可以在 scopes 键下设置这些权限。只需将特定权限作用域的值更改为 true。默认情况下,email 权限设置为 true。请记住,对于额外的权限,您需要将您的应用提交给 Facebook 进行审查。

'scope' => [
    "public_profile" => false,
    "user_friends" => false,
    "email" => true,
    "user_about_me" => false,
]

对于用户身份验证,fluent 使用 Laravel 的默认用户表和用户模型。但是,如果您使用不同的表和模型,请在配置文件中设置这些。

'user_model' => 'user',
'user_table_name' => 'users',
'user_model_namespace' => 'App',

使用

将用户登录到 Laravel

包提供了通过 Facebook 进行身份验证的所有路由和身份验证逻辑。只需将 redirect 路由添加到登录按钮,它将用户重定向到 Facebook 登录对话框。

获取不同的节点信息

Facebook 信息表示为一个社交图,由以下三个部分组成

nodes - 基本上是指“事物”,如用户、照片、页面、评论

edges - 之间的连接,如页面的照片或照片的评论

fields - 关于这些“事物”的信息,如人的生日或页面的名称

首先需要实例化一个 Fluent 实例。

$fluent = new Fluent();

或者如果您使用 fluent 门面,则不需要 fluent 实例。

现在,如果您想获取用户或照片的信息,只需在fluent对象上调用以该名称命名的函数,传递该节点的id,即用户或照片的id,并将其与get方法链接起来,该方法将返回有关该节点的集合。

$user = Fluent::user($id)->get();

注意:用户的Facebook ID存储在users表中的fb_id列。

在检索节点信息时,您还可以指定要获取额外信息的节点字段。为此,只需将字段名称数组传递给与节点调用链接的with方法。

$fields = ['link', 'name', 'album'];
$photo = Fluent::photo($id)->with($fields)->get();

要获取节点边(例如照片的评论)的信息,只需将边名称的方法链接到节点调用。

$photo = Fluent::photo($id)->comments()->get();

文档

文档

待办事项

发布选项

错误处理

安全漏洞

如果您在该软件包中发现安全漏洞,请发送电子邮件至Nehal Hasnayeen的邮箱searching.nehal@gmail.com。所有安全漏洞都将得到及时处理。

许可

Fluent-facebook是开源软件,遵循MIT许可证

变更日志

有关最近变更的更多信息,请参阅CHANGELOG

贡献者

Hasnayeen用爱在Bangladesh完成。