Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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-C#)_C#_Facebook_Facebook Requests - Fatal编程技术网

向应用程序用户发送通知/请求(Facebook-C#)

向应用程序用户发送通知/请求(Facebook-C#),c#,facebook,facebook-requests,C#,Facebook,Facebook Requests,标题可能无法描述我真正想要的,但我希望这不是一个重复的问题,因为我在搜索中找不到相关的答案 我正在为我自己的魔兽世界公会开发一个Facebook raid manager应用程序,我想让它做的是: 当官员创建raid时,向所有应用程序用户发送通知(或应用程序请求),无论他们是否是官员的朋友 此请求可以是用户对用户或应用程序对用户的请求,唯一重要的是它必须在Facebook端触发通知 再说一次,要明确的是,我并没有试图向非应用程序用户发送应用程序请求。我只想找到一种方法,通过用户事件向应用程序

标题可能无法描述我真正想要的,但我希望这不是一个重复的问题,因为我在搜索中找不到相关的答案

我正在为我自己的魔兽世界公会开发一个Facebook raid manager应用程序,我想让它做的是:

  • 当官员创建raid时,向所有应用程序用户发送通知(或应用程序请求),无论他们是否是官员的朋友
  • 此请求可以是用户对用户或应用程序对用户的请求,唯一重要的是它必须在Facebook端触发通知
再说一次,要明确的是,我并没有试图向非应用程序用户发送应用程序请求。我只想找到一种方法,通过用户事件向应用程序用户发送请求

应用程序已经拥有“Facebook群组”授权,这意味着所有应用程序用户都是特定Facebook群组(而不是页面)的成员


这可以通过Facebook对话框实现吗?

下面是一些使用C#SDK发送应用程序请求的粗略代码:

通知应显示在App Center/Requests下


希望这能有所帮助。

这对我了解邮件是如何发送的帮助很大。谢谢。这个可以用来发送通知吗?
private string getAppAccessToken()
{
    string facebookAppId = ConfigurationProvider.GetSetting("FacebookAppId");
    string facebookAppSecret = ConfigurationProvider.GetSetting("FacebookAppSecret");
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
        String.Format("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={0}&client_secret={1}",
        facebookAppId, facebookAppSecret));
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    var responseStream = new StreamReader(response.GetResponseStream());
    var responseString = responseStream.ReadToEnd();

    if (responseString.Contains("access_token="))
    {
        return responseString.Replace("access_token=", string.Empty);
    }

    return "";
}

private void postRequest(string id, string message)
{
    FacebookClient app = new FacebookClient(this.getAppAccessToken());
    dynamic parameters = new ExpandoObject();
    parameters.message = message;
    parameters.title = "Please use our app";
    dynamic myId = app.Post(id + "/apprequests", parameters);
}