2011-10-07 4 views
1

Помогите пожалуйста! Я создаю вкладку/приложение Facebook на facebook для участия в конкурсе, часть конкурса состоит в том, чтобы у пользователя была возможность поделиться конкурсом на своей стене. Это ошибка, которую я получаю -FB.ui дает мне сообщение об ошибке: redirect_uri не принадлежит заявке

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> 

Это информация в моем приложении:
Site/App Домен: upillar. com
URL-адрес сайта: http://fb.upillar.com/contest.php
URL-адрес страницы: http://fb.upillar.com/contest.php
Безопасный адрес вкладки: https://fb.upillar.com/contest.php




Пожалуйста, скажите мне, что мне не хватает! Огромное спасибо.

+0

Попробуйте использовать/в конце своих URL-адресов – Usman

+0

Усман, спасибо за ваш ответ, я попробовал это с обеих сторон http://fb.upillar.com/ и http://upillar.com/, и я все еще получаю Ошибка. –

+0

Извините за задержку, я думаю, вам нужно установить 'redirect_uri' на https://apps.facebook.com/yourapp. Я не знаю, как это сделать с JS SDK. В PHP SDK я устанавливаю 'getLoginUrl'. – Usman

ответ

0

сайт URL не должен быть файл, попробуйте установить это только в качестве домена, не contest.php

, если это не работает, установите холст URL в домене, с «/» в конце слишком.

+0

Я попытался использовать http://fb.upillar.com/ как мой URL-адрес сайта, а затем http://upillar.com/ как мой URL-адрес сайта и ничего не получил. В дополнение к этим попыткам я также добавил тот же URL-адрес на мой Canvas URL. Например, URL-адрес сайта: http://fb.upillar.com/ Canvas URL: http://fb.upillar.com/ И у меня все еще была ошибка. –

+0

Я пробовал то же самое, сокращая URL-адрес сайта, и это тоже не помогло мне. :( –

0

Извините, что ударил старое сообщение, сначала я должен сказать, что я относительно новичок в разработке facebook, но у меня была такая же проблема, в основном, похоже, что facebook делает довольно неплохое обнаружение с точки зрения того, что квалифицируется как перенаправлять, когда вы приземляетесь на свою страницу.

Например, я обнаружил, был ли он новым пользователем, а затем отображает colorbox, чье событие onclick перенаправлено на форму создания newuser. Это дало мне ошибку 191 redirect_uri не принадлежало. Похоже, что javascript был в элементе <HEAD>, который он квалифицировал как перенаправление.

Я просто изменил процесс входа в систему, чтобы полностью отобразить главную страницу и отобразить нормальный div, чтобы они нажали сюда, чтобы войти в систему.

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.'); 
     } 
    } 
); 
+0

Можете ли вы объяснить свой ответ немного больше? У меня такая же проблема, и она явно связана с параметром redirect_uri, но я не понимаю, правильный или неправильный код. Другими словами, когда ваш код говорит '//, что вызвало проблему', что это значит? – emersonthis

+0

В документах FB нет ничего, что даже упоминает параметр 'redirect_uri', но в некоторых случаях он должен быть включен. Этот параметр должен быть таким же, как в Facebook – cadavre

+2

Действительно, FB docs suck! То, что я узнал (посредством проб и ошибок), это тот параметр, который может быть полностью опущен в этом случае. Вот почему сообщение об ошибке чрезвычайно вводит в заблуждение. Когда этот параметр включен, чтобы диалог не закрывался должным образом. – emersonthis

0

Извините за могилу! У меня была такая же проблема и я нашел решение. Вам не нужно ничего менять в своих источниках.

Просто перейдите к http://developers.facebook.com откройте приложение и перейдите к «Настройки» и «Основные».

Существует текстовое поле с надписью «Домены приложений» - введите имя домена, в котором сейчас находится приложение, сохраните настройки, и все готово.

Смежные вопросы