0

アプリの承認を得るために、Facebook Grahp のアクションを公開しようとしています..エラー:

アクションの公開 このアクション タイプを使用して、少なくとも 1 つのアクションをタイムラインに公開する必要があります。

そこで、アクションを公開するための簡単なページを作成しました (コード形式: Graph API を取得しました)。これは次のようなものです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de-DE" xmlns:fb="https://www.facebook.com/2008/fbml"> 

<head prefix="og: http://ogp.me/ns# fashion_econtest: http://ogp.me/ns/apps/fashion_econtest#">

    <title>Fashion</title>
    <meta property="fb:app_id" content="MyAppId" /> 
    <meta property="og:type" content="fashion:contest" /> 
    <meta property="og:title" content="eContest" /> 
    <meta property="og:image" content="The Image" /> 
    <meta property="og:description" content="Registrati e vinci cli accessori più fashion dell&#039;anno!" /> 
    <meta property="og:url" content="MyURL">

    <script type="text/javascript">
        function postSubscribe(){
            FB.api(
            '/me/fashion:subscribe',
            'post',
            {share:'MyUrl'},
            function(response){
                if(!response){
                    alert('Error');
                }else if(response.error) {
                    alert(response.error.message);
                }else{
                    alert('Subscribe was successful! Action ID: ' + response.id);
                }
            });
        }
    </script>
</head>
<body>
    <div id="fb-root"></div>
    <script>
        window.fbAsyncInit = function(){
            FB.init({
                appId      : 'MyAppId', // App ID
                status     : true, // check login status
                cookie     : true, // enable cookies to allow the server to access the session
                xfbml      : true  // parse XFBML
            });
        };

        // Load the SDK Asynchronously
        (function(d){
            var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/it_IT/all.js";
            d.getElementsByTagName('head')[0].appendChild(js);
        }(document));
    </script>

    <h3>Fashion</h3>
    <p>
        <img title="Vinci i premi più Fashion!" src="http://xxxxxx.de/img/yyyyyy.jpg" width="550"/>
    </p>

    <br>
    <form>
        <input type="button" value="Subscribe" onclick="postSubscribe();" />
    </form>
</body>

しかし、リクエストを送信すると、次のエラーが発生します。

現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。

Java Script FB-API を使用してアクセス トークンを動的に取得し、これを機能させるにはどうすればよいですか?

助けてくれて本当にありがとうございます!!にいる

4

2 に答える 2

1

Facebook は、アプリケーション ID に基づいて access_tokens を自動的に交換します。FB API メソッドを使用して、現在アクティブな access_token を取得しようとしていると思います。FB.getLoginStatus API 呼び出しを試してください。詳細については、... http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/を参照してください。

于 2012-10-08T14:28:39.937 に答える
0

最初に FB.login を呼び出し、適切な権限 (publish_actions) を要求します。

(または、一度だけ必要なスクリプトを作成する代わりに、Graph API エクスプローラーを使用してすべてのことを実行します。)

于 2012-06-14T11:57:52.383 に答える