nazmulhasan/laravel-facebook-post

此包允许在Laravel应用程序中创建、更新、删除和获取Facebook页面的帖子

v1.0.2 2024-03-28 14:41 UTC

This package is auto-updated.

Last update: 2024-09-28 15:39:27 UTC


README

GitHub Downloads (all assets, all releases) GitHub License GitHub forks GitHub Repo stars

此包允许在Laravel应用程序中创建、更新、删除和获取Facebook页面的帖子

需求

  • PHP >=7.2
  • Laravel >= 6

安装

您可以通过composer安装此包

composer require nazmulhasan/laravel-facebook-post

配置

您可以使用以下命令可选地发布配置文件config/facebook.php

php artisan vendor:publish --provider="NazmulHasan\LaravelFacebookPost\FacebookPostServiceProvider" --tag="config"

配置.env文件

FACEBOOK_PAGE_ID=
FACEBOOK_ACCESS_TOKEN=

使用方法

获取所有帖子

use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;

$response = FacebookPost::getPost();

创建文本帖子

use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;

$message = 'Message from laravel application';

$response = FacebookPost::storePost($message);

创建带有图片的文本帖子

use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;

$message = 'Message from laravel application'; //message is optional
$url = 'Your image url';

$response = FacebookPost::storePostWithPhoto($url, $message);

更新帖子

use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;

$message = 'Message from laravel application';
$post_id = 'Your post id';

$response = FacebookPost::updatePost($post_id, $message);

删除帖子

use NazmulHasan\LaravelFacebookPost\Facades\FacebookPost;

$post_id = 'Your post id';

$response = FacebookPost::deletePost($post_id);

成功响应示例

array:4 [
  "status" => "success"
  "status_code" => 200
  "message" => "Post created successfully"
  "post_id" => "103408372435470_395802394384938"
]

失败响应示例

array:3 [
  "status" => "fail"
  "status_code" => 422
  "message" => "Message is required"
]

限制

  • 您只能更新帖子的文本。图片无法更新。
  • 不支持多图上传。
  • 不支持视频上传。

如何生成访问令牌?

  1. 首先创建一个商业类型的Facebook应用。从Facebook开发者面板创建应用
  2. 转到Facebook Graph Api探索器
  3. 这里您将看到三个选择选项
  • 元应用
  • 用户或页面
  • 权限
  1. 元应用:在这里您将看到您创建的所有Facebook应用。从下拉列表中选择您的商业类型应用。
  2. 用户或页面:在这里您需要选择页面访问令牌。然后它将重定向到您的Facebook页面列表。选择您首选的页面并给予必要的权限。
  3. 权限:请从以下权限列表中选择以下权限
  • pages_show_list
  • pages_read_engagement
  • pages_manage_engagement
  • pages_manage_posts
  • pages_read_user_content
  1. 最后点击生成访问令牌按钮,它将生成一个为期一小时的临时访问令牌。

  2. 如果您想将此令牌作为长期令牌,您需要转到访问令牌调试器。插入访问令牌并点击调试按钮。然后它将显示令牌信息。滚动到页面底部,您将看到扩展访问令牌。点击此按钮,它将生成长期访问令牌。然后复制访问令牌并将其用作FACEBOOK_ACCESS_TOKEN

注意

如果您想生成永不过期的访问令牌,请按照以下步骤操作

  • 请打开一个API测试工具,例如Postman,并使用以下URL发送GET请求https://graph.facebook.com/v19.0/{app-scoped-user-id}/accounts?access_token={long-lived-user-access-token}。如果您想生成用户访问令牌而不是页面访问令牌,只需从第5步中提到的用户或页面部分选择用户访问令牌。
  • 像页面访问令牌的扩展方法一样扩展此用户访问令牌的过期日期。
  • 然后调试此long-lived-user-access-token,您将从这个调试信息中获得app-scoped-user-id
  • 最后,发送GET请求到这个URL https://graph.facebook.com/v19.0/{app-scoped-user-id}/accounts?access_token={long-lived-user-access-token}。现在您将从这个请求中获得永不过期的页面访问令牌,并将其用作FACEBOOK_ACCESS_TOKEN

如果您遇到任何问题或错误,请使用此链接创建问题https://github.com/Nazmul7989/laravel-facebook-post/issues

许可证

本软件遵循MIT许可协议。请参阅许可文件获取更多信息。

有关更多详细信息,请参阅Facebook页面API

有关更多详细信息,请参阅Facebook长期有效访问令牌