0

別のネットワークの yammer にメッセージを投稿したいです。このために、私は以下のコードを書きました.それはサーバーに見つからないという例外を与えています.

               rawtoken = Security.GetRawToken();

                //TODO
                //get list of Yammer tokens for this user
                WebClient wc = new System.Net.WebClient();
                wc.DownloadStringCompleted += wc_DownloadStringCompleted;
                wc.DownloadStringAsync(new Uri("https://www.yammer.com/api/v1/oauth/tokens.json?access_token=" + rawtoken));
 void wc_DownloadStringCompleted(object sender, System.Net.DownloadStringCompletedEventArgs e)
    {
        string tokens = e.Result;
        MessageBox.Show(tokens);
        List<Response> myDeserializedObjList = (List<Response>)Newtonsoft.Json.JsonConvert.DeserializeObject(tokens,typeof(List<Response>));
        List<Response> response = myDeserializedObjList.Where(item => item.network_id == "992371").ToList();
        accessToken = response[0].token;

        WebClient wc = new System.Net.WebClient();
       Uri uri = new Uri("https://www.yammer.com/api/v1/messages.json?access_token=" + accessToken);

        student ns = new student();
      //  wc.Headers["Authorization"] = "Bearer " + accessToken;  //use discoEN token here
        String data = "group-id=" + ns.group_id + "&body=" + ns.body;
        wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);
        wc.Headers["Content-Type"] = "application/x-www-form-urlencoded";
        wc.Encoding = Encoding.UTF8;
        wc.UploadStringTaskAsync(uri, data);

    }

    private void wc_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
    {
        MessageBox.Show(e.Result);
    }
4

1 に答える 1

1

独自のコードを展開するのではなく、SDK for Windows Mobile を使用する必要があります。Yammer 開発者サイトから入手できます。また、コードは URL パラメーターでトークンを渡します。これはサポートされなくなり、認証ヘッダーで渡す必要があります。

ServerNotFoundException は、接続の問題を浮き彫りにします。ネットワークに接続していないか、接続をルーティングできないか、DNS 経由で www.yammer.com を解決できない可能性があります。

于 2013-12-23T18:41:43.127 に答える