【问题标题】:What Facebook info do I save to post on the wall later?我要保存哪些 Facebook 信息以便以后在墙上发布?
【发布时间】:2014-05-01 23:13:21
【问题描述】:

我有一个网站需要立即发布到用户的 Facebook 墙上,并在稍后的某个时间点(可以是 1 小时到 3 天后的任何时间,白天或晚上的任何时间),将另一条消息发布到用户的墙。

为此,我向用户清楚地解释了会发生什么,然后我连接到他们的 Facebook 帐户,请求发布权限(为用户生成权限对话框)。那时我可以立即将第一条消息发布到他们的墙上。稍后,当需要将第二条消息发布到他们的墙上时(也可能是任何时候,用户早已离开),我的服务器将收到一条消息。我将用一些识别信息(例如,用户的 Facebook 用户 ID 号)标记此消息,以便我知道要发布到谁的墙。

我的问题是,我需要在本地数据库中保存哪些关于他们的 Facebook 连接的具体信息,以便我可以发布第二个帖子(在未来某个未定义的时间点,当用户离开时)?

我正在使用 FB JS API 并使用 FB.login 以我需要的权限登录 Facebook,等等。服务器端代码在 PHP 中,所以在 JS 检索它们之后,我可以发送我需要的任何凭据保存到 PHP 代码(通过 Ajax)以存储在本地数据库中。

对于发布第二条消息,它将全部是 PHP(使用 Facebook PHP SDK),因为控制台上没有用户/不涉及 Javascript。

我相信我正在寻找的答案应该类似于:

  1. 当您最初连接到 Facebook 并且用户授予发布权限时,Facebook 将返回 xyz 凭据数据。您需要将该信息存储在本地数据库中。使用 FB 用户 ID 作为键。

  2. 当您准备好发布第二条消息并且您的 PHP 脚本启动时,从数据库中检索 xyz 信息(使用 FB 用户 ID),然后使用 xyz 调用 FB PHP SDK 以实际发布您想在他们的墙上发布的内容。

谢谢!

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-javascript-sdk


    【解决方案1】:

    步骤非常简单。让我解释一下-

    发布帖子,需要访问令牌;一旦用户授权您的应用程序代表您发帖,您就可以使用app access token 代表他发帖。那它!所以这里是步骤-

    1. 当用户成功授权您的应用代表他发帖时,只需将他/她的 facebook id 保存在您的数据库中即可。
    2. 使用只是app-id|app-secret的访问令牌(请注意,永远不要在客户端公开它),在他/她的墙上发布。就像-

      $response = $facebook->api(
        "/me/feed",
        "POST",
        array (
           'message' => 'This is a test message', 
           ....
           'access_token' => "app-access-token"
        )
      );
      

    但需要考虑的事项:

    1. 在授权时,用户可能/可能不会授予您发帖的权限,您可以在授权步骤后使用/me/permissions进行检查;所以你应该采取相应的行动。

    2. 用户可以随时删除您的应用程序,或从应用程序设置中删除您的应用程序的权限。在这种情况下,您的发布脚本同时给您授权错误;在那种情况下也可以适当地处理。

    【讨论】:

    • 在哪里使用 user-facebook-id 在用户的墙上发帖?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多