2011-09-01 118 views
3

我们有一个自定义的CMS,用户可以选择在发布消息时发布到公司的“粉丝页面”。此代码使用Facebook提供的FacebookAPI代码在C#应用程序(实际上是WCF Web服务)中使用Graph API。通过应用程序发布粉丝页面的链接

我们之前发布过各种问题(请参见this bugthis discussion)。这一直工作了一段时间,但现在返回400 /错误请求。

我已经尝试了两种不同的(已知工作之前的)API令牌。在这个设置上几个月没有任何代码发生变化。

我想知道我怎么能找出为什么现在不会发布。它的请求有什么变化?

这是我使用的代码:

FacebookAPI api = new FacebookAPI(token); 

Dictionary<string, string> postArgs = new Dictionary<string, string>(); 

postArgs["link"] = url; 
postArgs["message"] = message; 

try 
{ 
    JSONObject jsonresult = api.Post("me/links", postArgs); 
    result = "ok"; 
} 
catch (Exception e) 
{ 
    result = "Post Failed - " + e.Message.ToString(); 
} 

我的异常,说明400 /坏请求

更新:我也注意到,根据Authentication Docs,一些令牌现在有一个到期,我的似乎没有。这可能是一个问题吗?例如,我的令牌是一个〜100个字符串,其中4个部分由3个管道(|)分隔。他们的例子有额外的& expires_in = 64090。

+0

我猜downvote是因为这实质上是对Facebook的技术支持问题? –

+0

我很困惑 - 主要是因为Facebook现在希望人们发布到计算器! https://developers.facebook.com/support/ – jmlumpkin

+0

我也会为他们的网站添加一个错误报告,但也觉得这是他们系统的一个合法的“技术问题”。 – jmlumpkin

回答

0

为了现在发布链接或状态,您需要一个用户access_token和链接权限。确保用户已经为链接发布应用程序提供了publish_stream perms。此外,邮件参数应在邮件上被忽略,但我不会预先填写它只是为了避免错误。

您可以通过发出HTTP POST 请求PROFILE_ID /饲料与publish_stream权限和 以下参数张贴在代表用户的链接。

http://developers.facebook.com/docs/reference/api/user/#links

的JavaScript样本我使用,使岗位。

window.feedthis = function(shf,point,clk) { 
    ptsT=point-shf+clk; 
      FB.ui({ method: 'feed', 
      // message: 'Testing Feed', 
      caption: 'I survived '+shf+' Levels in Another Grid. I earned '+point+' points with '+clk+' clicks.', 
      name: 'Another Grid', 
      link: 'http://apps.facebook.com/anothergrid/?ref=link', 
      //to: '391793380398', 
      description: 'Another Grid, A color elemination Puzzle game by Shawn E Carter.', 
      picture: 'https://shawnsspace.com/ShawnsSpace.toon.nocolor..png', 
      properties: [{ text: 'Play the Game', href: 'http://apps.facebook.com/anothergrid/?ref=achievement'} 
          //{ text: 'ShawnsSpace', href: 'http://apps.facebook.com/shawnsspace/?ref=anothergrid'} 
          ], 
      actions: [ 
      { name: 'Another Grid', link: 'http://apps.facebook.com/anothergrid/'} 
      ]  
      }); 
      }; 
+0

你可以做一个页面而不是用户吗? – jmlumpkin

相关问题