2013-07-09 21 views
0

我想用程序在我的朋友墙上发布消息。我将使用我的asp.net应用程序发布消息。我试过Facebook的图表API。问题是每次我必须使用Facebook提供的登录对话框来获取需要手动输入用户名和密码的访问令牌。因此,我创建了一个Facebook应用程序,并获得了appid和app秘密字符串。我正在尝试下面的代码先在我的墙上发布消息。我收到以下例外。此API调用需要一个有效的app_id asp.net c# - facebook

var fb = new Facebook.FacebookClient(); 


dynamic tokenInfo = 
       fb.Get(
       String.Format(
        "/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials", 
        "1234567890", 
        "2bebebdf4709xxxxxxxxxxxxxxx")); 
    fb.Post("/100006xxxxxx/feed", new { message = "My Message" }); 

错误:

此API调用需要有效的APP_ID

回答

0

您的朋友必须授权您的应用程序,他们需要授予“发布喂”特权应用程式。要做到这一点,您需要让用户通过“Facebook连接”授权您的应用程序。使用Facebook Connect触发“授权您的应用程序”过程。一旦该应用程序被授权,Facebook的API应该认识到你的朋友登录到Facebook(脸谱API使用cookie来知道用户登录到FB或不)。只有这样才会发布这个命令的工作。希望这可以帮助。

+0

感谢skidadon。由于我的朋友已经在我的列表中,我是否可以将我的api委托给他的墙上。就像我给我的所有权限的应用程序和应用程序将像我一样。通过这种方式,他们不想安装我的应用程序或授予供稿发布权限。 – pili

+0

Facebook非常严格。您的朋友(以及其后的每个朋友)都需要授权您的应用并授予发布订阅源权限。这是一个非常明确的过程,无法避免。一旦你有这个,你可以使用他们的令牌,并使用你的应用程序打电话来代表他们发布。不知道这是否回答你的问题。 – skidadon

+0

@pili从[2月6日](https://developers.facebook.com/roadmap/completed-changes/)开始,您无法通过Graph API发布朋友的时间线,因此您需要一个应用访问令牌和您的朋友需要与应用程序连接。 – ThePCWizard

0
  var fb = new FacebookClient(acctocken); 
      var args = new Dictionary<string, object>(); 
      args["Message"] = "Hai Dear"; 
      fb.PostAsync("[friend id]/feed", args); 

希望它帮助你

相关问题