Javascript 在React Native中使用GraphRequest将mp4发布到Facebook
我正在使用Javascript 在React Native中使用GraphRequest将mp4发布到Facebook,javascript,facebook-graph-api,react-native,mp4,react-native-fbsdk,Javascript,Facebook Graph Api,React Native,Mp4,React Native Fbsdk,我正在使用react native fbsdk中的GraphRequest从我的应用程序发布到FB。具体地说,我正在尝试发布一个指向外部托管的mp4视频的链接,因此在类似https://img.myapp.com/image_id.mp4。以下是我请求的代码: return new Promise(function(resolve, reject) { const post = new GraphRequest('/me/feed', { httpMethod: 'GET',
react native fbsdk
中的GraphRequest从我的应用程序发布到FB。具体地说,我正在尝试发布一个指向外部托管的mp4视频的链接,因此在类似https://img.myapp.com/image_id.mp4
。以下是我请求的代码:
return new Promise(function(resolve, reject) {
const post = new GraphRequest('/me/feed', {
httpMethod: 'GET',
version: 'v2.9',
...payload,
}, (err, result) => {
if (err) {
reject(err);
}
resolve();
});
new GraphRequestManager().addRequest(post).start();
});
这是有效载荷
:
{
httpMethod: 'POST',
parameters: {
type: { string: 'article' },
message: { string: message || '' },
caption: { string: 'Powered by MyApp' },
link: { string: media.url },
ref: { string: uuid },
picture: { string: media.url },
source: { string: media.url },
properties: [
{ name: { string: 'type' }, text: { string: 'video.other' } },
],
}
我的核心问题是,我想发布一个mp4链接到FB,并看到视频循环(因为它只有几秒钟长)。我很确定这个属性
属性是我应该指定类型、高度、宽度和其他属性的地方,我会为其他地方添加一个元标记,以便在链接中传递有关视频的信息。然而,
使用properties
的编写方式,我得到了以下错误:graph-api错误:参数“properties”的意外值。请求参数必须是带有“字符串”字段的对象。
下面是Graph API-POST docs()中属性
块的屏幕截图:
我已经为这个对象(或数组?)尝试了尽可能多的不同配置,它们都返回了这个错误。是否有人熟悉使用GraphRequest发布mp4视频,或者至少可以就如何使用
properties
参数向我提供建议?提前谢谢 要使MP4显示为内联可播放视频(并且,对于那些启用了它的人,在新闻提要中自动播放),您需要在发布视频之前上传视频
由于您提到了从外部链接发布,只要您的目标至少是Graph API的2.3版,您就可以将URL发送到视频文件,而不是上载原始数据。需要注意的一个限制是,您提供的URL上的视频需要在5分钟内由Facebook的scraper下载。如果你有一个大的视频或一个缓慢的服务器,最好使用分块上传过程
以下是有关视频上载过程的更多信息:
首先,请确保使用/videos
端点,而不是/feed
:
new GraphRequest('/me/videos'
您将使用的参数与/feed
端点稍有不同,可以在此处引用:
您需要特别查看将url发送到视频文件的文件url
参数,如果希望视频自动发布到用户的新闻提要,则是\u explicit\u share
参数。您可以使用说明
而不是消息
,您提供的文本将显示在墙上的柱子上。将其与原始代码结合起来:
httpMethod: 'POST',
parameters: {
file_url: { string: media.url },
description: { string: message || '' },
is_explicit_share: { string: 'true' },
...
}