我正在尝试在Facebook Business Manager中为产品Feed设置预定的提取。从我所看到的,我可以提供到Facebook的FTP链接以及凭据,它应该拿起文件。
我正在使用的FTP提供程序是ShareFile,可以通过相应的帐户访问该文件所在的文件夹。我确认我可以使用这些凭据并使用FileZilla连接到FTP,因此该部分应该是可靠的。 FileZilla中的设置如下:
但是,当我将相同的凭据放入Facebook Business Manager进行Feed上传时,我收到以下错误:
由于未知原因,从FTP服务器获取产品Feed失败(卷曲错误代码:56)。请通过报告问题来帮助我们。你也许可以再试一次。
我在这个错误上找到的所有内容都来自cURL错误页面:
CURLE_RECV_ERROR(56)接收网络数据失败。
我看到有人提到需要在ShareFile中将Facebook的IP列入白名单,但我不能为我的生活找到那个页面。
FTP详细信息在Facebook中设置如下:
我没有成功通过Facebook文档获得其他任何地方,我找不到直接联系他们支持的方法。如果有人有这方面的经验,任何帮助表示赞赏!
编辑:尝试使用直接cURL并得到相同的结果:
$ curl -u 'domain\[email protected]' "ftp://host.sharefileftp.com:990/Path/To/File.csv"
Enter host password for user 'domain\[email protected]':
curl: (56) response reading failed
所以在这一点上,它可能只是ShareFile本身的一个问题,与Facebook无关。
正如@jared在评论中指出的那样,使用ftps确实允许cURL工作:
$ curl -u 'domain\[email protected]' "ftps://host.sharefileftp.com:990/Path/To/File.csv"
但是,Facebook不支持ftps。它只支持ftp或sftp,ShareFile不支持。
我最初尝试的正常ftp不起作用,因为使用的ShareFile帐户没有允许正常的ftp。一旦打开,Facebook就能连接到ShareFile并成功获取文件。