【问题标题】:Facebook Post Call to Action button using Graph API使用 Graph API 的 Facebook 发布号召性用语按钮
【发布时间】:2017-08-12 19:43:14
【问题描述】:

如何使用 Facebook Graph API 为帖子添加“号召性用语”?有可能还是免费? 提前致谢。

【问题讨论】:

  • 不知道为什么人们不赞成这个问题。我想完全按照这个问题的要求做。我确信最终 API 将允许以编程方式创建“号召性用语”按钮,而不是当前的手动过程。
  • ^ 经过一番研究,事实证明 Graph API 确实允许您在帖子中添加“号召性用语”按钮。见this answer
  • 如果您尝试将 CTA 添加到 FB 页面,可以在此处找到文档:developers.facebook.com/docs/graph-api/reference/page/…

标签: facebook facebook-graph-api


【解决方案1】:

您可以在主页(例如粉丝页面、业务页面等)的帖子上添加“号召性用语”按钮,但不能添加到个人时间线。

要使用 Graph API 向主页帖子添加“号召性用语”按钮,只需包含 call_to_action 参数:

call_to_action={"type":"SHOP_NOW","value":{"link":"http://www.amazon.com"}}

此无关页面上列出了可用的“号召性用语”值列表: https://developers.facebook.com/docs/marketing-api/mobile-app-ads/v2.5#cta_definitions

再次提醒,call_to_action 参数仅适用于主页帖子。如果您将该参数包含在个人时间线的帖子中,它将被忽略。

使用“行动号召”按钮将整个 C# 代码发布到 Facebook 页面:

string facebookPageID = ""; // a page id needed here. NOT a user id.
string facebookPageAccessToken = ""; // a page access token needed here
string shareLink = "http://www.stackoverflow.com";
string url = "https://graph.facebook.com/v2.4/"
    + facebookPageID + "/feed?access_token=" + facebookPageAccessToken
    + "&link=" + HttpUtility.UrlEncode(shareLink)
    + "&message=" + HttpUtility.UrlEncode("Check this out")
    + "&call_to_action=" + HttpUtility.UrlEncode("{\"type\":\"SHOP_NOW\",\"value\":{\"link\":\"" + shareLink + "\"}}");
string resp = "";
try
{
    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
    httpRequest.Method = "POST";
    using (HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse())
    {
        using (Stream responsestream = httpResponse.GetResponseStream())
        {
            if (responsestream != null)
            {
                using (StreamReader bodyreader = new StreamReader(responsestream))
                {
                    resp = bodyreader.ReadToEnd();
                }
            }
        }
    }
}
catch (Exception ex)
{
    resp = ex.ToString();
}

上面的代码将创建这个示例帖子:

【讨论】:

  • 这仅适用于广告 afaik,不适用于标准帖子
  • @luschn 它适用于标准帖子,而不仅仅是广告。我们在通过 Graph API 发布到粉丝页面时使用它。
  • 我昨天试过了,但无法创建号召性用语按钮。你有示例帖子吗?
  • 我知道代码可以正常工作(您可以在 api 资源管理器中尝试),但我无法显示号召性用语按钮,这就是问题。
  • @luschn 只需使用我发布的代码即可。它会创建一个带有号召性用语按钮的示例帖子。
【解决方案2】:

这在官方文档中有很好的解释:https://www.facebook.com/help/312169205649942

...或在本文中:https://www.facebook.com/business/news/call-to-action-button

Afaik 目前无法使用 Graph API 执行此操作。

编辑:我的错,我认为这与页面标题中的号召性用语按钮有关。绝对有可能以编程方式将号召性用语按钮添加到主页帖子,您只需要包含指向主页帖子的链接。我已经在 API Explorer 中尝试过了,只需替换页面 ID 并确保您使用的是具有 publish_pages 权限的页面令牌:

https://developers.facebook.com/tools/explorer/?method=POST&path=[PAGE-ID]%2Ffeed&version=v2.5&message=test&link=http%3A%2F%2Fwww.devils-heaven.com&call_to_action={%22type%22%3A%22SHOP_NOW%22%2C%22value%22%3A{%22link%22%3A%22http%3A%2F%2Fwww.devils-heaven.com%22}}

此处指定:https://developers.facebook.com/docs/marketing-api/mobile-app-ads/v2.5#cta_definitions

【讨论】:

  • 感谢您的回答。但是这两篇文章都没有用到Graph API。我想使用 Graph API 以编程方式添加它,可以吗?那是我的问题。
  • 将其添加到我的答案中。现在是不可能的。
  • 感谢您的回答
  • OP 询问是否在 POST 中包含“号召性用语”按钮,而不是页眉。可以按照 OP 的要求去做。见this answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多