1

Graph APIを使用して、YouTubeビデオをFacebookイベントウォールに直接投稿しようとしています。

FanPageウォールに投稿すると、目的の結果(プレビュー画像とビデオ自体を含む投稿)が得られますが、イベントウォールに投稿すると、メッセージのみが表示され、ビデオとプレビュー画像は表示されません。

コードは次のとおりです。

var eventObj =
{
    source:'http://www.youtube.com/v/'+youTubeID,
    picture:'http://img.youtube.com/vi/'+youTubeID+'/0.jpg',
    message: messageText,
    name: eventName,
    caption: newDateArray[0] + ' ' + newDateArray[1].substr(0, 5)
}; 

FB.api('/'+facebookEventID+'/feed', 'post', eventObj, function(response){

//response code...

}

このコードが実行された後、イベントウォールに新しい投稿messageTextが表示されます。だけを送信しようとしましたsourceが、メッセージ付きのエラーオブジェクトが返され、メッセージなしで投稿を作成できません。両方sourceを送信しようとするmessageと、同じ結果が得られました。メッセージのみが表示されました。

回答に基づく更新:

私はあなたのコードとあなたの許可を使ってみました、そして結果は同じです:

私はテキストだけを受け取ります:

ここに画像の説明を入力してください

たぶん、私がファンページとして投稿しているからですか?あなたはそれを解決する方法を知っていますか?

回答に基づく更新#2:

何らかの理由で、Facebook内から作成されたイベントには、新しいバージョンの投稿UIがあり、次にGraphAPIを使用してアプリケーションから作成されたイベントがあるようです。

これは、Facebook内で作成されたイベントからのものです。 ここに画像の説明を入力してください

そして、これはGraphAPIで作成されたイベントからのものです。 ここに画像の説明を入力してください

2つ目は古いバージョンであることがわかります。この違いにより、Graph APIによって作成されたイベントへのYouTubeリンクのアップロードの問題も発生していると思います。APIから自分が作成したイベントへのYouTubeリンクのアップロードに成功したため、フェイスブック。

4

1 に答える 1

2

本当に?テスト アプリを使用して、イベントへの YouTube リンクを投稿できました。

function post() {
  var eid = 508688182476978;  // Event id.                                                                 
  FB.api(
    '/' + eid + '/feed',
    'post',
    {
      message: 'Testing SDK',
      source: 'http://www.youtube.com/v/kohozJp9dNs',
      picture: 'http://img.youtube.com/vi/kohozJp9dNs/0.jpg',
      caption: 'beach video (caption)'
    },
    function(response) {
      if (!response || response.error) {
        console.log(response);
        alert('Error occured');
      } else {
        alert('Post was successful! Action ID: ' + response.id);
      }
    }
  );
}

...そして、ビデオの画像プレビューとキャプションが表示されます:

イベントのyoutubeリンク

...このパーマで

publish_actions,read_stream,user_events,publish_stream

nameあなたの例のようにパラメーターは必要ありませんでした。

API 経由で作成されたイベント

API を使用してイベントを作成している (Web ブラウザーを使用して作成していない) 場合は、「イベントのタイムゾーン」移行を有効にしてみてください。

アプリ ダッシュボード> 詳細設定 > 移行 > イベントのタイムゾーン > 有効にする

その移行の発表も参照してください: https://developers.facebook.com/blog/post/2012/08/01/platform-migration--events-timezone-support/

アプリでイベント タイムゾーンの移行が有効になったら、API を使用して新しいイベントを作成し、上記の の説明に従って YouTube ビデオ ストーリーを投稿してみてくださいfunction post()

于 2012-10-23T22:38:37.200 に答える