使用W8/wp8c#sdk是否可以实现facebook用户对用户的请求?

使用W8/wp8c#sdk是否可以实现facebook用户对用户的请求?,c#,facebook,windows-8,windows-phone-8,facebook-c#-sdk,C#,Facebook,Windows 8,Windows Phone 8,Facebook C# Sdk,我正试图让我的手机游戏从facebook邀请朋友,但我无法做到。我正在使用适用于Windows 8的Facebook c#SDK(希望在准备好WP8、Android和iOS时进行移植),但问题是我对Facebook API参数感到困惑: 这是我的代码: var fb = new FacebookClient (accessToken); dynamic parameters = new ExpandoObject(); parameters.appId = facebookAppId; para

我正试图让我的手机游戏从facebook邀请朋友,但我无法做到。我正在使用适用于Windows 8的Facebook c#SDK(希望在准备好WP8、Android和iOS时进行移植),但问题是我对Facebook API参数感到困惑:

这是我的代码:

var fb = new FacebookClient (accessToken);
dynamic parameters = new ExpandoObject();
parameters.appId = facebookAppId;
parameters.message = "This is a test!";
parameters.to="friendID1,friendID2,...";

string request=String.Format ("/me/apprequests");
dynamic result = await fb.PostTaskAsync (request, parameters);
当我使用此代码时,Post任务会正确完成,但是(检查结果变量并查看facebook)上的“我”用户会收到该邀请。“to”字段似乎被忽略,“me”是唯一接收请求的字段

如果我使用

string request=String.Format ("/{0}/apprequests",FRIEND_ID);
我收到的不是/me/apprequests,而是以下错误:

OAutheException“(#2)未能创建任何应用程序请求”

我在一些地方读到访问令牌必须是应用令牌,但文档中说,它只应在服务器执行这些请求时使用,我想要的是用户对用户的请求,而不是应用对用户的请求

到目前为止,我已经看到可以通过对话请求在Android和iOS中获得它,但我在C#SDK中没有找到它们,所以我正在尝试手动进行apprequest,运气不好

是否可以在Windows Phone 8或Windows 8上使用此功能?怎么做

谢谢,
是的,这是可能的。不幸的是,你不能通过SDK来实现,因为Facebook不允许你通过编程方式发送请求。必须通过请求对话框/弹出窗口完成

因此,在尝试以下解决方案之前,请确保用户已登录。使用LoginAsync方法获取facebook访问令牌后,请执行以下步骤

  • 在启用脚本的xaml中创建WebBrowser控件
  • 现在,在您的代码隐藏中,以CSV格式创建一个字符串,其中包含您想要邀请的用户的facebook ID,如“id1、id2、id3”

  • 将web浏览器导航到以下页面并订阅导航事件:
    ”https://m.facebook.com/dialog/apprequests?“+”message=your_message&app_id=“+”your_facebook\u appid“+”&redirect\u uri=https://m.facebook.com&to=“+user\u facebook\u ids\u CSV+”&sdk=2&display=touch“

  • FbBrowser.Visibility=可见性.Visibility;
    FbBrowser.Navigating+=FbBrowser\u Navigating;
    FbBrowser.Navigate(url1)

  • 您可以在导航事件中处理网页的成功和失败响应
  • private void FbBrowser\u导航(对象发送方,导航事件参数e)
    {
    if(e.Uri.ToString().StartsWith(“https://m.facebook.com/?error_code“)|| e.Uri.ToString().StartsWith(”https://m.facebook.com/?request"))
    {
    FbBrowser.Visibility=Visibility.collazed;
    导航(新Uri(“关于:空白”);
    } }