0

アクティビティ フィードに投稿するニュース ページのすべての記事の下に [読む] ボタンを追加するなど、かなり簡単だと思うことをしようとしています...簡単。

- アプリが作成されました - 機能している開いているグラフ オブジェクト - ページにログインしています

ただし、「メッセージ: (#100) アクション タイプ ニュース:読み取りは承認されていないため、アプリ 555555 はアプリの管理者、開発者、およびテスターに​​のみ公開できます。ユーザー 5555555 はそれらの役割の 1 つではありません」というエラーが引き続き発生します。 ."

これに間違った方法でアプローチしていますか?

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head prefix="og:h ttp://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#">

    <meta property="fb:app_id" content="5555555" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="http://name.page.com/default.aspx" />
    <meta property="og:title" content="Second Article" />
    <meta property="og:image" content="http://ogp.me/logo.png" />
    <meta property="og:description" content="Second Article Description" />
    <meta property="article:author" content="http://name.page.com/">
    <meta property="article:section" content="Article" />
    <meta property="article:tag" content="Name" />

    <title>FACEBOOK</title>
    <link href="css/main.css" rel="stylesheet" type="text/css" />
</head>


<body>
    <div id="content" class="column">
        <div class="article">
            <form id="form1" runat="server">
                <asp:Button ID="Button1" runat="server" Text="Facebook Login" OnClick="Button1_Click" />
            </form>
        </div>
    </div>

    <div id="fb-root"></div>

    <script type="text/javascript">

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


        // Init the SDK upon load
        window.fbAsyncInit = function () {
            FB.init({
                appId: '5555555', // App ID
                channelUrl: '//' + window.location.hostname + '/channel.html', // Path to your Channel File
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true  // parse XFBML
            });

            // listen for and handle auth.statusChange events
            FB.Event.subscribe('auth.statusChange', function (response) {
                if (response.authResponse) {

                    // user has auth'd your app and is logged into Facebook
                    FB.api('/me', function (me) {
                        if (me.name) {
                            document.getElementById('auth-displayname').innerHTML = me.name;
                        }
                    })
                    document.getElementById('auth-loggedout').style.display = 'none';
                    document.getElementById('auth-loggedin').style.display = 'block';
                } else {

                    // user has not auth'd your app, or is not logged into Facebook
                    document.getElementById('auth-loggedout').style.display = 'block';
                    document.getElementById('auth-loggedin').style.display = 'none';
                }
            });

            // respond to clicks on the login and logout links
            document.getElementById('auth-loginlink').addEventListener('click', function () {
                FB.login();
            });
            document.getElementById('auth-logoutlink').addEventListener('click', function () {
                FB.logout();
            });
        }


        //Second Article
        function secondArticle() {

            //GET LOGIN STATUS
            FB.getLoginStatus(function (response) {
                if (response.status === 'connected') {
                    // the user is logged in and has authenticated your
                    // app, and response.authResponse supplies
                    // the user's ID, a valid access token, a signed
                    // request, and the time the access token 
                    // and signed request each expire
                    var uid = response.authResponse.userID;
                    var accessToken = response.authResponse.accessToken;
                    alert(accessToken);


                    FB.api('me/news.reads' + '?article=http://facebook.Name.com/default.aspx&access_token=' + accessToken, 'post',

                    function (response) {
                        var msg = 'Error occured';
                        if (!response || response.error) {
                            if (response.error) {
                                msg += "\n\nType: " + response.error.type + "\n\nMessage: " + response.error.message;
                            }
                            alert(msg);
                        }
                        else {
                            alert('Post was successful! Action ID: ' + response.id);
                        }
                    });


                } else if (response.status === 'not_authorized') {
                    // the user is logged in to Facebook, 
                    // but has not authenticated your app
                    alert("Authorize")
                } else {
                    // the user isn't logged in to Facebook.

                    alert("Login")
                }
            });
        }

    </script>



    <div id="contentContainer">
        <div id="login-container">           
            <h3>Login from site</h3>
            <div id="auth-status">
                <div id="auth-loggedout">
                    <a href="#" id="auth-loginlink">Login</a>
                </div>
                <div id="auth-loggedin" style="display: none">
                    Hi, <span id="auth-displayname"></span>(<a href="#" id="auth-logoutlink">logout</a>)
                </div>
            </div>
        </div>
        <div id="content" class="column">
            <div class="article">
                <h3>Name Article V2</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut magna ligula, malesuada pellentesque mollis malesuada, varius in dolor. Aenean mollis nisl condimentum felis commodo at tincidunt purus interdum. Vivamus consectetur sodales quam, volutpat feugiat sapien lobortis pulvinar. Proin consectetur blandit libero tristique dictum. Fusce consectetur massa non magna convallis ac congue felis sagittis. Nulla nec turpis dui, vitae egestas quam. Proin lobortis dictum faucibus. Aenean eget elit nec quam imperdiet fermentum a vel magna. Ut viverra eros sit amet nibh varius lacinia. Duis porttitor augue condimentum arcu bibendum ut accumsan turpis lobortis. Nam vulputate, mauris non fermentum ornare, dui metus commodo odio, id tempor neque leo vel turpis. Donec ultricies imperdiet tincidunt.</p>
                <p>Nulla facilisi. Donec laoreet lacinia vulputate. Proin accumsan commodo est, id aliquam dolor gravida eget. Duis quam nisl, rutrum vel lobortis sit amet, condimentum id purus. Integer ut dignissim augue. Fusce bibendum tempus elit, in fermentum odio sagittis et. Sed luctus viverra urna ac porttitor. Duis erat nisi, porta eu cursus sed, posuere at est. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vel erat vel diam vehicula posuere eu eu leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In hac habitasse platea dictumst. Nam mattis fringilla mi.</p>
                <p>Etiam id mi ipsum, non aliquam velit. Proin rutrum ante eget urna euismod accumsan. Nam id velit neque. Nunc aliquam, elit non porta aliquet, nisi orci malesuada tortor, quis interdum nisl mi a felis. Duis tristique, elit eu facilisis egestas, sem sapien porta orci, et imperdiet augue est ac velit. Nulla facilisi. Nam enim enim, sollicitudin at elementum vitae, varius vulputate magna. Nullam posuere lorem sit amet magna euismod sit amet ornare nisl tempus. </p>
                <input type="button" value="Read" onclick="secondArticle();" />
            </div>
        </div>
    </div>
4

1 に答える 1

1

アプリで使用する Open Graph アクションは、承認のために送信する必要があります(組み込みのものであっても)。

アクションを定義するアプリ設定には、承認プロセスに移動するリンクがあります。

詳細については、https ://developers.facebook.com/docs/opengraph/opengraph-approval/ も参照してください。

于 2012-06-22T15:43:37.173 に答える