2013-05-15 8 views
7

Ich habe eine webbasierte News-App, die auf Heroku ausgeführt wird. Wenn Nutzer einen Kommentar zu einer Nachricht in meiner App posten, leitet meine App den Kommentar unter Verwendung von fb_graph an die Facebook-Seite des Nutzers weiter. Bis vor ein paar Wochen hat alles perfekt funktioniert. Aus keinem Grund, den ich erklären kann, sehe ich jetzt ein verwirrendes Verhalten.Facebook-Pinnwand Fehler: OAuthException :: (# 1500) Die von Ihnen angegebene URL ist ungültig

Nun, wenn ein Nutzer einen Kommentar zu einer Geschichte macht die FB API mit antwortet, OAuthException :: (#1500) The url you supplied is invalid. Wenn derselbe Benutzer dann zusätzliche Kommentare zu derselben Geschichte sendet, werden diese Kommentare auf den FB-Feed des Benutzers gut gesendet.

Ich habe die FB Graph API-Explorer, um zu bestätigen, dass ich gültige Zugriffstoken haben, und dass meine App akzeptiert Beiträge an den Token-Besitzers FB Futter verwendet.

Um die Sache noch rätselhaft zu machen, wenn mein Web-App in Entwicklung auf localhost läuft all die Beiträge ganz gut durch App zu meinem Entwicklung FB.

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 

Eine letzte Sache zu beachten, das einzige, was ich w/r/t geändert haben, wie meine app mit FB in den letzten zwei Wochen interagiert war, dass ich FBs akzeptiert July Breaking Changes.

Jeder hat irgendwelche Hinweise. Das treibt mich verrückt !!!

Antwort

3

ich das gleiche Problem nur Unterschied habe ist, ich das Javascript api bin mit.

Scheint, wie es ein Facebook-Fehler ist, die bereits hier berichtet wird: https://developers.facebook.com/bugs/136768399829531

+1

Ja. Ich habe fünf Fehlerberichte im FB-Support-Forum gefunden. Hoffe, dass FB bald etwas dagegen tut. https://developers.facebook.com/bugs/476666205677592, https://developers.facebook.com/bugs/126382447562342, https://developers.facebook.com/bugs/431421556904563, https: //developers.facebook. com/bugs/460912230659216, und https://developers.facebook.com/bugs/136768399829531 –

+0

@chuckw Haben Sie versucht, was ich unten erwähnt? - Siehe meine Antwort bwlow: Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen, danke –

+0

@babajidePrince Habe gerade diesen Vorschlag gesehen. Ich werde es am Morgen versuchen und melden. –

3

Ja, das ist ein bekannter Fehler und Facebook-Entwickler in sie suchen, und so behaupten sie, aber etwas interessant fand ich heraus, ist:

poste ich auf meiner Facebook-2 Methoden RestFB API verwenden, zunächst für Nachrichten mit URLs zB www.something.com und ohne URLs, erkannte ich, gestern Abend, dass alle Beiträge ohne URL gearbeitet und die, die mit URL nicht.

Also änderte ich alle meine Implementierung Nachrichten an Facebook zu senden, ohne alle Beiträge mit Verbindungsparameter zu verwenden, mit oder ohne Links.

Mit Parameter Link - wirft Fehler # 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")); 

Ohne Link Parameter - das funktioniert auch, wenn Nachricht enthaltenen URL/link

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

Dies funktioniert auch, wenn Nachricht enthalten ist URL/Link und es erstellt einen anklickbaren Link auf FB. Könnte es sein, dass FB versucht, die Linkimplementierung fallen zu lassen und uns herausfindet, dass die erstere genauso funktioniert wie die Linkimplementierung? Was ist der Unterschied?

Das ist brutal!

Prost

Babajide

+0

scheitern das scheint auf mich zutreffen. wenn ich Link entferne, funktioniert es..Crazy –

+0

Es funktioniert, aber wir verlieren die schöne Formatierung von Links (die immer noch besser ist als überhaupt keine Post). –

0

Ich habe versucht, dieses Problem, dieses Problem zu lösen, die auf fast allen vorkommendes zu sein scheint. Ich benutze das PHP SDK.

Was ich festgestellt habe ist, dass es immer diesen Fehler zum ersten Mal, als ich versuchte, den Link zu veröffentlichen, zurückgab. Bei einem zweiten Versuch wurde es mit Erfolg gepostet.

Wirklich hackishly habe ich dann auf einen Fehler überprüft und versucht, an die Wand zu posten.

$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

Um diese Probleme zu lösen, nur Sie diese og Metadaten-Tags im Kopfteil der von der URL, die Sie teilen möchten, vertreten Seite stellen Sie sicher, fügen:

<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" /> 

Viel Glück!