1

私はreact-native-fbsdkからGraphRequestを使って、私のアプリからFBに投稿しています。具体的には、私は外部でホストされているmp4ビデオへのリンクを投稿しようとしています。したがって、https://img.myapp.com/image_id.mp4のようなURLに投稿しています。ここに私の要求のためのコードは次のとおりです。GraphRequestを使ってFacebookに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' } }, 
     ], 
    } 

私の心の問題は、私はそれとして(FBへのMP4リンクを投稿し、ビデオループを見てみたいということですわずか数秒です)。このpropertiesプロパティは、タイプ、高さ、幅、その他のプロパティを指定して、リンク内のビデオに関する情報を他の場所に渡すためのメタタグを追加する必要がある場所であると確信しています。 enter image description here

私が試してみました: - POSTドキュメント(https://developers.facebook.com/docs/graph-api/reference/v2.11/post)ここでgraph api Error: Unexpected value for parameter 'properties'. Request parameters need to be objects with a 'string' field.

は、グラフAPIでpropertiesブロックのスクリーンショットです:しかし、propertiesと は、私はそれが私はこのエラーを取得しているように書か私が考えることができるように、このオブジェクト(または配列?)のための多くの異なる設定として、彼らはすべてこのエラーを返します。 GraphRequestを使用してmp4ビデオを投稿することに精通している人がいますか、または少なくともpropertiesパラメータを使用する方法について私にアドバイスできますか?前もって感謝します!

答えて

1

MP4がインライン再生可能なビデオとして表示されるようにします(また、有効にしている場合は、ニュースフィードで自動再生)ので、アップロードする前にビデオをアップロードする必要があります。

外部リンクからの投稿について言及しているので、グラフAPIのバージョン2.3以降をターゲットにしている限り、生データをアップロードするのではなく、URLをビデオファイルに送信することができます。注意すべき制限の1つは、提供したURLの動画をFacebookのスクレーパーで5分以内にダウンロードする必要があることです。ビデオのサイズが大きい場合やサーバーの速度が遅い場合は、チャンクアップロードプロセスを使用することをお勧めします。

ここでは、ビデオのアップロード・プロセスにいくつかのより多くの情報です:https://developers.facebook.com/docs/graph-api/video-uploads

ではなく/feedより/videosエンドポイントを使用してください、あなたを開始するには:

new GraphRequest('/me/videos' 

あなたが使用しますパラメータがあります/feedエンドポイントとは異なり、ここで参照することができます:https://developers.facebook.com/docs/graph-api/reference/video#Creating

具体的にはビデオファイルにURLを送信するパラメータは、ユーザのニュースフィードにビデオを自動的に投稿する場合はis_explicit_shareパラメータを使用します。 messageの代わりにdescriptionを使用すると、入力したテキストが壁紙に表示されます。すべて元のコードにしてください:

httpMethod: 'POST', 
parameters: { 
    file_url: { string: media.url }, 
    description: { string: message || '' }, 
    is_explicit_share: { string: 'true' }, 
    ... 
} 
関連する問題