facebook java sdk无法创建;广告「;,表示在不使用任何东西的情况下使用instagram a/c作为放置位置

facebook java sdk无法创建;广告「;,表示在不使用任何东西的情况下使用instagram a/c作为放置位置,facebook,facebook-graph-api,facebook-sdk-4.0,Facebook,Facebook Graph Api,Facebook Sdk 4.0,我正在尝试使用facebook java sdk创建广告 val adCreative = new AdAccount(ACCOUNT_ID, context).createAdCreative() .setName(s"Test Creative +$TEST") .setObjectStorySpec( new AdCreativeObjectStorySpec() .setFieldLinkData( new AdCreativeLinkData

我正在尝试使用facebook java sdk创建广告

val adCreative = new AdAccount(ACCOUNT_ID, context).createAdCreative()
  .setName(s"Test Creative +$TEST")
  .setObjectStorySpec(
    new AdCreativeObjectStorySpec()
      .setFieldLinkData(
        new AdCreativeLinkData()
          .setFieldCaption("http://www.field-caption.com")
          .setFieldImageHash(attachment1.getFieldImageHash)
            .setFieldLink("http://www.google.co.in")
              .setFieldMessage("try it out")
              )
      .setFieldPageId(FACEBOOK_PAGE)
  )
  .execute()

val ad = new AdAccount(ACCOUNT_ID, context).createAd()
  .setName(s"Test Ad +$TEST")
  .setAdsetId(adSet.getId)
      .setCreative(adCreative.getId)
  .setCreative(new AdCreative().setFieldId(adCreative.getId()))
  .setStatus(Ad.EnumStatus.VALUE_PAUSED)
  .execute()
但是,createAd调用失败并导致异常

com.facebook.ads.sdk.APIException$FailedRequestException: {"error":{"message":"Invalid parameter","type":"OAuthException","code":100,"error_subcode":1772103,"is_transient":false,"error_user_title":"Instagram Account Is Missing","error_user_msg":"You're using Instagram as a placement. Please select an Instagram account to represent your business in your Instagram ads, or select a Facebook Page to use instead.","fbtrace_id":"FtpWRXVY1tH"}}

这在几天前运行良好,但突然开始抛出异常。任何帮助都将不胜感激。

您可以明确指定publisher platform仅在facebook上发布

 val adSet = new AdAccount(ACCOUNT_ID, context).createAdSet()
  .setName(s"Test AdSet +$TEST")
  .setLifetimeBudget(20000L)
  .setStartTime(currentDateTime.toString())
    .setEndTime(currentDateTime.plusDays(1).toString())
      .setCampaignId(campaign.getId())
        .setIsAutobid(true)
        .setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
        .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_POST_ENGAGEMENT)
        .setTargeting(
              new Targeting()
                  .setFieldCustomAudiences(List(idNameCusAudience).asJava)
                    .setFieldPublisherPlatforms(List("facebook").asJava)
        )
        .setStatus(AdSet.EnumStatus.VALUE_PAUSED)
        .execute()

我想补充一下这个答案,因为我刚刚就这个问题进行了讨论。 我们管理boosting的长时间运行的应用程序本月刚刚停止工作,并抛出OP提到的错误。 看起来Facebook的默认设置已经改变了。用户确认默认设置为
facebook、观众网络、messenger

从广告管理器中可以看出,失败的推送尝试的位置现在包括instagram作为一个位置。在我能找到的任何地方似乎都没有提到这一变化


因此,我不得不更改呼叫,明确将facebook、观众网络、messenger定义为my,而不依赖默认设置。

如果你想加入Instagram,这些答案都不能真正回答你需要做什么

要发布到instagram,您需要instagram帐户ID

Facebook上的每个页面都有(或可以有)一个instagram“帐户”,而用户不必创建一个帐户

您需要做的是(按此顺序):

  • 检查他们是否有instagram链接(如果他们有链接,请使用此ID)
  • 检查
    page\u backed\u instagram\u账户
    ,查看他们的页面是否有Facebook为他们制作的instagram账户,以便他们能够发布广告(该账户是隐藏的,在instagram上找不到)。如果他们有,请使用该账户的ID
  • 如果出于某种原因,他们的页面没有instagram,也没有
    page\u-backed\u-instagram\u账户
    ,那么您需要创建
    page\u-backed\u-instagram\u账户
  • 您要查找的端点包括:


  • 这真的很有帮助,而且确实在营销api中没有突出提到。这与其说是一个解决方案,不如说是一个解决办法,如果你想让你的广告也在instagram上显示,你应该能够在没有instagram账户连接到该页面的情况下设置facebook页面,这是广告管理器中的默认功能。每当我试图根据帖子创建广告时,都会出现此错误。创建/更新广告时如何指定页面@RickS@K.D.看看我的答案,我会在Facebook上链接到我的支持票,但他们禁止了我的另一个帐户,它就消失了。这对你来说应该可以解决问题。看起来他们最近更新了文档以包含它。这很有帮助。但是如何在fb api中使用生成的instagram帐户ID呢。我把它作为instagram\u actor\u id传递,没有success@AlexandruR已经有一段时间没有使用Facebook API了,但从我在发布时编写的代码来看,我似乎向
    POST
    请求了
    https://graph.facebook.com/[FB_API_VERSION]/[PAGE_ID]/PAGE_-backed_-instagram_账户
    希望能有所帮助