gpt4 book ai didi

facebook - 如何管理用户 facebook "managed pages"?

转载 作者:行者123 更新时间:2023-12-02 21:32:33 26 4
gpt4 key购买 nike

我目前正在开发一个项目,我们希望将内容发布到用户的 Facebook 墙或用户管理的页面之一的墙上。

查看此页面:https://socialiteproviders.github.io/

请注意,facebook 未列出!奇怪的是,它是顶级社交网络之一,为什么它被保留为自定义的覆盖提供商?

    return Socialite::with('facebook')->scopes(['publish_actions', 'manage_pages', 'pages_show_list'])->redirect();

然后

    $user = Socialite::driver('facebook')->user();

在哪里可以找到有关 Facebook 的社交名流文档?具体来说,如何获取刚刚登录的用户的托管页面上的信息。

我们确实获得了 Facebook 的应用许可。当您链接您的帐户时,Facebook 页面上会弹出请求授予应用程序管理页面的权限。

当我 dd() 时 ->user() 的结果

我明白了

token, refreshToken, expiresIn, id, nickname, name, email, avatar, user -> [name, email, gender, verified, link, id], avatar_original, profileUrl.

如果我理解正确,应该有一种方法可以获取包含托管页面信息的“数据”属性。

请参阅此链接:https://developers.facebook.com/docs/pages/access-tokens#multiple-pages

我是否必须直接使用 Facebook API,还是有办法从社交名流那里获取此信息?

谢谢!

编辑:

我还询问了有关 Facebook 提供商的信息,以及它是否被硬编码到社交名流中。我已经在vendor/laravel/socialite/SocialliteServiceProvider.php中发布了这个发现,实际上它是为facebook连接的。然而,我仍然不知道如何管理 Facebook 用户的“托管页面”

最佳答案

在我看来,你已经很接近了。

正如您在 Facebook API Documentation 中看到的那样,要使您的应用程序能够在用户管理的页面中发布,您需要请求 manage_pagespublish_pages 权限。

另一方面,默认情况下,Socialite 会向 Facebook 询问最常见的字段(例如 idemailname 等)但要获得额外的驱动程序特定字段,您也需要指定它们。所以这应该可以做到:

return Socialite::
with('facebook')
->scopes(['manage_pages', 'publish_pages', 'the_rest_of_your_scopes'])
->redirect();

并检索用户:

$social_user = Socialite::
driver('facebook')
->fields(['accounts', 'some_other_extra_fields'])
->user();

免责声明:我还没有测试它,但这应该在用户对象中包含一个 accounts 键,该键将包含用户页面、他/她的角色的数组)、页面信息和在页面中执行操作的 token (是的,例如发布)。

我希望这至少可以为您提供指导。祝你好运。

关于facebook - 如何管理用户 facebook "managed pages"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47517636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com