iluminar / fluent-facebook
一个用于在 Laravel 5 中轻松读取和写入 Facebook 图形对象的 Laravel 5 包
Requires
- php: ~5.5|~7.0
- guzzlehttp/guzzle: ^6.2
- illuminate/support: ~5.1
- laravel/framework: 5.*
- symfony/http-foundation: 3.1.*
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2022-07-08 03:00:57 UTC
README
一个用于在 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_id
、app_secret
和 redirect_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用爱在完成。