0

//更新: 助けを借りて、トークンの問題を修正するいくつかのエラーをキャッチすることができました。それを反映するようにコードを更新しました。ただし、コードはまだタイムラインでイベントを生成しないため、質問はそのままにしておきます。

元の質問:

訪問者がページにアクセスすると、訪問したページ (映画を含む) へのリンクを Facebook にプッシュする Open Graph API を使用して簡単なスクリプトを作成しようとしています。

カスタム アクションとオブジェクトは使用していませんが、標準の Watch アクション (https://developers.facebook.com/docs/opengraph/video/) と Video.movi​​e オブジェクトを使用しています。

FBのサンプルコードに基づいてこれを思いつきました:

<!-- first login-button with scope publish_actions: -->
<fb:login-button show-faces="false" width="200" max-rows="1" scope="publish_actions"    ></fb:login-button>

<!-- Then script that should push update to timeline: -->
<script type="text/javascript">
    function fbPublish(){
        FB.api(
        '/me/video.watches',
        'post',
        { 'video.movie': '<?php the_permalink(); ?>',
        'access_token': 'blablabla'  },
        function(response) {
           if (!response || response.error) {
              alert('Nope.');
           } else {
              alert('Yes.'); // any stuff
           }
        });
    }

これにより、アラート「いいえ」がトリガーされます。

curl で Watch アクションを追加しました。何が起こっているのかについてのアイデアはありますか?

4

1 に答える 1

0

ユーザーのタイムラインに自動的に投稿するには、FB.loginが必要です。

FB.login(function(response) {
      // Post the action
 }, {scope: 'publish_actions'});

アクションを投稿するために実際のコードの有効性を確認しませんでしたが、問題は、これを行う前にユーザーの許可が必要になることです。アクセス許可は必要なものですが、publish_actions新しい認証ダイアログには既に含まれていると思います。念のためにそのままにしておきます。

最初に FB.login コードを実行すると、ポップアップ「許可」ダイアログが表示されます。その後、ユーザーのウォールに自由に投稿できるようになります。これはセキュリティの一部であり、Facebook ユーザーは知らないうちに自分のタイムラインに投稿することを望んでいません。

于 2012-05-16T00:26:51.710 に答える