FB.ui给我错误消息:redirect_uri不归应用程序所有

时间:2011-10-07 21:59:06

标签: facebook

请帮忙!我正在Facebook上为比赛创建一个Facebook标签/应用程序,比赛的一部分是让用户可以选择在他们的墙上分享比赛。这是我收到的错误 -

API错误代码:191 API错误说明:指定的URL不归应用程序所有 错误消息:redirect_uri不归应用程序所有。

这是我的facebook身份验证码:

<div id='fb-root'></div>
<script>
      FB.init( {
    appId  : 219691398094935,
            status : true, 
            cookie : true, 
            xfbml  : true
        }
        );
        window.fbAsyncInit = function() {
            FB.Canvas.setAutoResize();
        }
        </script>
<script src='http://connect.facebook.net/en_US/all.js'></script>

这是我的FB.ui代码:

 <script>
                function showStreamPublish() {
                FB.ui(
                   {
                     method: 'feed',
                     name: 'I signed up to win an iPad 2 from Upillar.com',
                     link: 'http://www.facebook.com/pages/udev/121216321302968?sk=app_219691398094935',
                     picture: 'http://static.upillar.com/fb/images/logo.png',
                     description: 'I entered the iPad 2 Sweepstakes from Upillar.com which only requires you to create a listing to enter! Enter the contest now by by clicking this link.',
                     app_id: '219691398094935'
                   },
                   function(response) {
                         if (response && response.post_id) {
                             $('#main-screen').css('display','none');
                             $('#step2').css('display','block');
                         }else{
                            $('#main-screen').css('display','none');
                            $('#step2').css('display','block');
                         } 
                    });}
                    </script>

这是我的应用中的信息:
网站/应用领域:upillar.com
网站网址:http://fb.upillar.com/contest.php
页面标签网址:http://fb.upillar.com/contest.php
安全标签网址:https://fb.upillar.com/contest.php




请告诉我我错过了什么!非常感谢你。

4 个答案:

答案 0 :(得分:1)

遇到同样的问题 - 解决方案很简单,但Facebook Dev DOCS甚至没有提到。看看这个:

FB.ui(
    {
        method: 'feed',
        redirect_uri: 'http://www.yourdomain.com', // that caused the problem
        message: 'getting educated about Facebook Connect',
        name: 'Connect',
        caption: 'The Facebook Connect JavaScript SDK',
        description: (
            'A small JavaScript library that allows you to harness ' +
            'the power of Facebook, bringing the user\'s identity, ' +
            'social graph and distribution power to your site.'
        ),
        link: 'http://www.yourdomain.com',
        picture: 'http://www.yourdomain.com/f8.jpg',
        actions: [{
            name: 'yourdomain',
            link: 'http://www.yourdomain.com'
        }],
        user_message_prompt: 'Share your thoughts about RELL'
    },
    function (response) {
        if (response && response.post_id) {
            alert('Post was published.');
        } else {
            alert('Post was not published.');
        }
    }
);

答案 1 :(得分:0)

网站网址不应该是文件,请尝试将其设置为您的域名,而不是match.php

如果不起作用,请将画布URL设置为您的域,最后也加上“/”。

答案 2 :(得分:0)

很抱歉碰到一个旧帖子,首先我应该说我对facebook开发相对较新,但我一直遇到同样的问题,基本上看起来facebook在一些资格重定向方面做了一些相当漂亮的检测当你降落在你的页面上时。

例如,我正在检测它是否是新用户,然后显示一个颜色框,其onclick事件被重定向到新用户创建表单。这给了我错误191 redirect_uri不拥有。似乎因为javascript在<HEAD>元素中,它被认定为重定向。

我只是更改了登录过程以完全呈现​​主页面并显示正常的div,告诉他们点击此处登录。

答案 3 :(得分:0)

对不起进行严肃的挖掘! 我遇到了同样的问题并找到了解决方案。您不必更改任何来源。

转到http://developers.facebook.com打开您的应用,然后转到“设置”和“基本”。

有一个文本字段显示“App Domains” - 输入当前托管该应用的域名,保存设置即可完成。