2013-05-15 6 views
7

私はHerokuで動作するWebベースのニュースアプリを持っています。ユーザーが自分のアプリでニュース記事にコメントを投稿すると、アプリはfb_graphを使用してコメントをユーザーのFacebookの壁に転送します。数週間前まですべてが完全に機能していました。私が今、いくらか困惑している行動を見ていると説明できる理由はない。Facebookのwall postエラー:OAuthException ::(#1500)指定したURLが無効です

ユーザーがストーリーにコメントを投稿すると、FB APIはOAuthException :: (#1500) The url you supplied is invalidと応答します。同じユーザーが同じストーリーに追加のコメントを投稿した場合、それらのコメントはユーザーのFBフィードに投稿されます。

FBグラフAPIエクスプローラを使用して、有効なアクセストークンがあることを確認しました。私のアプリはトークン所有者のFBフィードへの投稿を受け入れます。

私のWebアプリケーションをlocalhostで開発しているときに、すべての投稿が私の開発用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 

最後に一つ、私は私のアプリは、最後の2週間でFBとどのように相互作用するか、R/W/Tに変更された唯一のことは、私はFBのJuly Breaking Changesを受け入れたということでした。

誰でも手掛かりがあります。これは私を馬鹿にさせている!!!

答えて

3

私は同じ問題を抱えていますが、私はjavascript APIを使用しています。

それはすでにここに報告されたFacebookのバグ、だように思える:https://developers.facebook.com/bugs/136768399829531

+1

はい。私はFBサポートフォーラムで5つのバグレポートを見つけました。 FBがこれについてすぐに何かしてくれることを願っています。 https://developers.facebook.com/bugs/476666205677592、https://developers.facebook.com/bugs/126382447562342、https://developers.facebook.com/bugs/431421556904563、https://developers.facebook。 com/bugs/460912230659216、https://developers.facebook.com/bugs/136768399829531 –

+0

@chuckw以下に述べたことを試してみましたか? - 私の返答を見てください。bwlow:もっと助けが必要な場合は教えてください。 –

+0

@babajidePrince 、ちょうどこの提案を見た。私は朝にそれを試してみて、報告します。 –

3

はい、これは、彼らが主張するだけでなくので、それに既知のバグやFacebookの開発者を探しているされたが、私が見つけた面白いものがある:

RestFB APIを使用して2つの方法を使用して私のFacebookに投稿します。まず、www.something.comのようなURLのメッセージとURLのないメッセージの場合、URLのないすべての投稿とURLのない投稿はすべて昨晩実現しました。

私はすべての投稿のリンクパラメータを使用せずに、リンクの有無にかかわらずFacebookにメッセージを送信するようにすべての実装を変更しました。リンクパラメータで

- リンクなしパラメータでエラー#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")); 

をスローする - これは、メッセージがURL /リンク

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

が含まれていても、これはメッセージが含まれている場合でも動作します動作しますURL /リンクをクリックすると、FB上にクリック可能なリンクが作成されます。 FBがリンクの実装を中止しようとしていて、前者がリンクの実装と同じように動作することがわかってもらえますか?とにかく違いは何ですか?

これは残酷です!私はこの問題にほぼ全員に発生しているようで、この問題を解決しようとしていた

乾杯

Babajide

+0

ええこれは私に当てはまるようです。私はリンクを削除すると、それは動作します..クレイジー –

+0

それは動作しますが、私たちはリンクの良いフォーマットを失います。 –

0

。 私はPHP SDKを使用しています。

私が気づいたのは、初めてこのリンクを投稿しようとしたときにこのエラーが返されたことです。 2回目の試行で、それは成功して掲示されました。

本当にhackishly私はエラーを確認し、壁に投稿するのを再試行しました。ちょうどあなたが共有したいURLによって表されるページのheadセクションにこれらのOGのメタデータタグを追加することを確認し、これらの問題を解決するために

$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

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

幸運!

関連する問題