使用Facebook NodeJS商业SDK上传广告图片

7gcisfzg  于 2023-02-03  发布在  Node.js
关注(0)|答案(1)|浏览(125)

我正在尝试使用Facebook节点业务SDK,我遇到了一些问题。我正在使用来自广告沙盒帐户的API密钥。
我试图调用createAdImage,但是我遇到了一个错误,说"提供的图像文件无效"。然而,当我刚刚用curl点击图形API时,它使用完全相同的参数工作。
这是我的函数代码

const createAdImage = async (url) => {
  console.log("here");
  account
    .createAdImage([AdImage.Fields.Hash], {
      [AdImage.Fields.filename]: url,
    })
    .then((result) => {
      console.log(result);
      return result.hash;
    })
    .catch((error) => {
      console.log(error);
    });
};

createAdImage("/home/philowe2001/fb-test/AdsSample/philoicon.jpg");

下面是一些相关的控制台输出

message: 'The provided image file is invalid: The provided image file is invalid. Please check your image path again.',
  status: 400,
  response: {
    error: {
      message: 'Invalid parameter',
      type: 'OAuthException',
      code: 100,
      error_subcode: 2490361,
      is_transient: false,
      error_user_title: 'The provided image file is invalid',
      error_user_msg: 'The provided image file is invalid. Please check your image path again.',
      fbtrace_id: 'AcOHTk6MviAmBmqB5J242i7'
    }
  },

另外,为了防止这一点有用,下面是我的curl代码

curl \
  -F 'filename=@/home/philowe2001/fb-test/AdsSample/philoicon.jpg' \
  -F 'access_token=EAAJT1aMW9V0BAGTlre3ZBkkQju5HrQo1zi1CDG9r6sok74PGk7yFynPffGqbGPUZBCNBlYe6EiFNFrc8hoghi4bidCqIVAhx3SNmQEY9JTHc3cb7scgwaok98TXMiJll8o7ZAlWrK1LNBbz0KWpaZByNQmJa2DaAIZAJvXX2Q3aeWo30lbEwdIZCX8KqaEy6EZD' \
  https://graph.facebook.com/v15.0/act_1431237097286304/adimages

谢谢你。

qco9c6ql

qco9c6ql1#

感谢CBroe提供的这一切
它们是正确的,你不能在节点sdk中使用url。你必须传递字节。
下面是一个有效的正确判断:

.createAdImage([], {
      bytes: imageBytes,
    })

相关问题