2013-05-15 8 views
7

Heroku'da çalışan bir web tabanlı haber uygulamasına sahibim. Kullanıcılar benim uygulamamdaki bir haber hikayesine yorum gönderdiğinde, uygulamam fb_graph kullanarak kullanıcının facebook duvarına yorum gönderir. Her şey birkaç hafta öncesine kadar mükemmel çalıştı. Hiçbir sebepten ötürü açıklayamıyorum, şimdi biraz şaşırtma davranışı görüyorum. Bir kullanıcı FB API OAuthException :: (#1500) The url you supplied is invalid, ile yanıt verdiği bir hikayeye bir yorum gönderdiğinde ŞimdiFacebook wall post hatası: OAuthException :: (# 1500) Sağladığınız url geçersiz

. Aynı kullanıcı daha sonra aynı hikayeye ek yorumlar gönderirse, bu yorumlar kullanıcının FB yayınına gönderilir.

Ben geçerli erişim belirteçleri onaylamak için FB Graph API kaşif kullandık ve benim app belirteç sahibinin FB beslemesine mesajları kabul gelmez. localhost üzerinde gelişiminde benim web uygulaması çalıştırırken

mesajların hepsi benim geliştirme FB app sadece iyi geçmesi, işler daha da şaşırtıcı hale getirmek için.

def post_to_facebook(story, post) 
    auth = Authentication.find_by_provider_and_user_id("facebook", current_user.id) 
    if auth 
    me = FbGraph::User.me(auth.token) 
    if me.permissions.include?(:publish_stream) 
     begin 
     me.feed!(
      :message => "#{best_name(current_user)} made the following post to NewsWick: #{post.contents}", 
      :name => story.title, 
      :link => "https://www.newswick.com/stories/"+story.id.to_s, 
      :description => "Story posted to the NewsWick world-wide news service" , 
      :picture => best_photo(story)[:photo_url] 
     ) 
     rescue => e 
     @msg = "Facebook posting error: "+ e.to_s 
     puts "Facebook feed posting error: #{e.message}" 
     end 
    else 
     @msg = "No longer authorized to post to Facebook." 
    end 
    end 
    return @msg 
end 

Son bir şey, benim app i FB en July Breaking Changes kabul olmasıydı son iki hafta içinde FB ile nasıl etkileşime/r/t w değişti tek şey not etmek.

Herkesin herhangi bir ipucu var. Bu beni bonker sürüyor! Ben tek fark aynı sorunu yaşıyorum

cevap

3

javascript API kullanarak olmam. Zaten burada bildirilen bir facebook böcek, gibi

görünüyor: Bu yazarlar iyi, böylece https://developers.facebook.com/bugs/136768399829531

+1

Yep. FB destek forumunda beş hata raporu buldum. Umarım FB bu konuda bir şeyler yapar. https://developers.facebook.com/bugs/476666205677592, https://developers.facebook.com/bugs/126382447562342, https://developers.facebook.com/bugs/431421556904563, https: //developers.facebook. com/bugs/460912230659216 ve https://developers.facebook.com/bugs/136768399829531 –

+0

@chuckw Daha önce bahsettiklerimi denediniz mi? - Yanıtımı gör bwlow: Daha fazla yardıma ihtiyacınız varsa bildirin, teşekkürler –

+0

@babajidePrince , sadece bu öneriyi gördü. Sabah deneyeceğim ve rapor edeceğim. –

3

Evet bu bilinen bir hata ve Facebook geliştiricileri içine arıyoruz edilir öğrendim ilginç ancak bir şeydir:

Ben URL olmadan tüm mesajlar çalıştı dün gece gerçekleştirilen ve URL ile olanlar değil, URL'ler olmadan URL'ler örn www.something.com ve kişilerle mesajlar için, önce RestFB API kullanılarak 2 yöntemlerle benim Facebook'ta yayın.

Yani ya bağlantıları olmadan, tüm yayınlar için bağlantı parametreleri ile kullanmadan Facebook'ta mesaj göndermek için bütün uygulamasını değiştirmiştir. Bağlantı Parametre ile

- hiçbir bağlantı parametresi ile hata # 1500

FacebookType publishMessageResponse = resftFBclient.publish(FACEBOOK_PAGE_ID 
+"/feed", FacebookType.class, Parameter.with("message", "Hello StackOverFlow!"), 
Parameter.with("link", "message with a link , www.me.com")); 

atar - Bu mesajı alan URL/link

FacebookType publishMessageResponse = resftFBclient.publish(FACEBOOK_PAGE_ID. + 
"/feed",FacebookType.class,Parameter.with("message", "My message")); 

Bu hatta mesaj içeriyordu çalışır da çalışır URL/link ve FB üzerinde tıklanabilir bir link oluşturur. FB'nin bağlantı uygulamasını bırakıp, eskiden sadece bağlantı uygulaması gibi çalıştığını anlamaya çalıştığı söylenebilir mi? Neyse fark ne?

Bu çok acımasız!

Alkış

Babajide

+0

kodu ile başarısız olur evet bu bana geçerli gibi görünüyor. Bağlantıyı kaldırdığımda işe yaramaz..crazy –

+0

Çalışır, ancak bağlantıların güzel biçimlendirmesini kaybederiz (yine de hiçbir postadan daha iyidir). –

0

bu sorunu neredeyse herkese meydana gibi görünüyor bu sorunu çözmek için çalışıyordu. PHP SDK kullanıyorum.

Farkettiklerim, bu hata iletisini ilk kez göndermeye çalıştığımda, bu hatayı her zaman döndürdüm. İkinci bir denemede, başarı ile ilan edildi.

Gerçekten hackishly sonra bir hata için kontrol ettim ve duvara gönderilmek için tekrar denedim.

$errorCount = 0; 

function postPicture($phrase) 
{ 
    try 
    { 
     $image = $_SESSION['photoLink']; 
     $facebook->setFileUploadSupport(true); 
     $response = $facebook->api(
     '/me/feed', 
     'post', 
     array(
      'message' => $phrase, 
      'picture' => 'http://mylink/pictures/facebook.png', 
      'link' => $image, 
      'caption' => 'My caption', 
      'description' => 'My description', 
      'type' => 'photo', 
      'name' => 'My name' 
     ) 
    ); 

     echo 'Success'; 
     } 

    } 
    catch (FacebookApiException $e) 
    { 
     // You really should check if this $error is #1500 before doing that. I didn't :) 
     if($errorCount < 2) 
     { 
     postPicture($phrase); 
     $errorCount++; 
     } 
     else 
     { 
      $e = str_replace('"', "", $e); 
      $e = str_replace("'", "", $e); 
      echo 'Error ' . $e; 
     } 
    } 
} 
0

sadece paylaşmak istediğiniz url tarafından temsil sayfasının baş bölümünde bu og meta etiketleri eklemek emin olun bu sorunları çözmek için:

<meta property="og:type" content="article" /> //or any other type like blog, website etc.... 
<meta property="og:url" content="your article url here" /> 
<meta property="og:title" content="your article title here" /> 

İyi şanslar!