Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook wall post错误:OAutheException:(#1500)您提供的url无效_Facebook_Facebook Graph Api_Heroku_Fb Graph - Fatal编程技术网

Facebook wall post错误:OAutheException:(#1500)您提供的url无效

Facebook wall post错误:OAutheException:(#1500)您提供的url无效,facebook,facebook-graph-api,heroku,fb-graph,Facebook,Facebook Graph Api,Heroku,Fb Graph,我有一个在Heroku上运行的基于网络的新闻应用程序。当用户在我的应用程序上发布新闻评论时,我的应用程序会使用fb\u graph将评论转发到用户的facebook墙。直到几周前,一切都很顺利。毫无理由,我现在看到了一些令人困惑的行为 现在,当用户提交对某个故事的评论时,FBAPI会响应,OAutheException::(#1500)您提供的url无效。如果是,则同一用户向同一故事提交附加评论,这些评论将发布到用户的FB提要上 我已经使用FB Graph API explorer确认我拥有有效

我有一个在Heroku上运行的基于网络的新闻应用程序。当用户在我的应用程序上发布新闻评论时,我的应用程序会使用
fb\u graph
将评论转发到用户的facebook墙。直到几周前,一切都很顺利。毫无理由,我现在看到了一些令人困惑的行为

现在,当用户提交对某个故事的评论时,FBAPI会响应,
OAutheException::(#1500)您提供的url无效。如果是,则同一用户向同一故事提交附加评论,这些评论将发布到用户的FB提要上

我已经使用FB Graph API explorer确认我拥有有效的访问令牌,并且我的应用程序确实接受令牌所有者的FB提要的帖子

更让人困惑的是,当在localhost上运行我正在开发的web应用程序时,所有的帖子对我的开发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
最后一点需要注意的是,在过去两周里,我唯一改变了我的应用程序与FB的交互方式,那就是我接受了FB在7月份做出的突破性改变


任何人都有线索。这让我发疯了

我遇到了同样的问题,唯一的区别是我使用的是javascript api


这似乎是一个facebook bug,这里已经报道过了:

是的,这是一个已知的bug,facebook开发者正在研究它,所以他们声称,不管我发现了什么有趣的东西:

我使用
RestFB-API
的两种方法在我的Facebook上发帖,首先,对于带有URL的消息,例如www.something.com和那些没有URL的消息,我昨晚意识到所有没有URL的帖子都有效,而带有URL的帖子则无效

所以我改变了我的所有实现,将消息发送到Facebook,而无需对所有帖子使用with link参数,无论有无链接

带有链接参数-抛出错误#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/link,此选项也有效

FacebookType publishMessageResponse = resftFBclient.publish(FACEBOOK_PAGE_ID. +
"/feed",FacebookType.class,Parameter.with("message", "My message"));
即使消息包含URL/链接,并且它在FB上创建了一个可点击的链接,该功能也可以工作。可能是FB正试图放弃链接实现,让我们弄明白前者的工作原理与链接实现相同吗?到底有什么区别

太残忍了

干杯


巴巴吉德

我试图解决这个问题,这个问题似乎发生在几乎每个人身上。 我正在使用PHPSDK

我注意到,当我第一次尝试发布链接时,它总是返回这个错误。在第二次尝试中,它被成功发布

然后,我真的很粗鲁地检查了一个错误,并尝试贴到墙上

$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;
      }
   }
}
$errorCount=0;
函数后置(短语)
{
尝试
{
$image=$\会话['photoLink'];
$facebook->setFileUploadSupport(true);
$response=$facebook->api(
“/me/feed”,
"岗位",,
排列(
'message'=>$phrase,
'图片'=>'http://mylink/pictures/facebook.png',
'link'=>$image,
“标题”=>“我的标题”,
“描述”=>“我的描述”,
'类型'=>'照片',
“姓名”=>“我的姓名”
)
);
呼应"成功",;
}
}
捕获(FacebookApiException$e)
{
//在执行此操作之前,您确实应该检查此$error是否为#1500。我没有:)
如果($errorCount<2)
{
后期(短语);
$errorCount++;
}
其他的
{
$e=str_replace(“,”,“,$e);
$e=str_替换(“'”,“,$e);
回显“错误”。$e;
}
}
}

要解决这些问题,只需确保在要共享的url所代表的页面标题部分添加以下og元数据标记:

<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" />
//或任何其他类型,如博客、网站等。。。。

祝你好运!

是的。我在FB支持论坛上发现了五个错误报告。希望FB尽快对此采取行动。、、、@chuckw你尝试过我下面提到的内容吗?

请查看我的回答。bflow:如果你需要更多帮助,请告诉我,thanks@babajidePrince,我刚看到这个建议。我明天早上会试试,然后回来汇报。@BabajidePrince,你的苏ggestion确实允许在Rest API上发布。它确实触发了更多非常奇怪的行为。虽然通过FB发布,但:picture参数并不总是能够指向合适的照片。一旦我将:link参数放回:picture参数,它100%的时间都能工作,但大约每三次发布都会失败,代码为#1500yeah这是eems适用于我。当我删除链接时,它会起作用。疯狂它会起作用,但我们会失去链接的良好格式(这仍然比没有帖子要好)。