2

タイトルは私が実際に欲しいものを説明していないかもしれませんが、検索で関連する答えが見つからなかったので、これが重複した質問ではないことを願っています。

私は自分のWorldofWarcraftギルド用のFacebookレイドマネージャーアプリケーションを開発していますが、それを実行したいのは次のとおりです。

  • 役員がRAIDを作成したら、役員の友達であるかどうかに関係なく、すべてのアプリケーションユーザーに通知(またはアプリリクエスト)を送信します。
  • このリクエストは、ユーザーからユーザーまたはアプリからユーザーのリクエストにすることができます。唯一重要なことは、Facebook側で通知をトリガーする必要があることです。

繰り返しますが、明確にするために、私はアプリケーション要求を非アプリケーションユーザーに送信しようとはしていません。ユーザーイベントによってトリガーされたアプリケーションユーザーにリクエストを送信する方法が必要です。

アプリケーションにはすでに「Facebookグループ」認証があります。これは、すべてのアプリユーザーが特定のFacebookグループ(ページではない)のメンバーであることを意味します。

これはFacebookダイアログを介して可能ですか?

4

1 に答える 1

1

C#SDKを使用してアプリリクエストを送信するための大まかなコードは次のとおりです。

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);
}

通知はAppCenter/Requestsの下に表示されます。

お役に立てれば。

于 2012-12-13T22:19:14.950 に答える