2017-07-28 36 views
0

私はYammerグループにユーザーを追加しようとしています。このためには、グループに追加するユーザーのトークンが必要です。私は私が(確認済みの管理者アカウントを使用して)作成したYammerのアプリケーションのクライアントIDを渡しているCONSUMER_KEYについてはyammer get user token yammer REST API

https://api.yammer.com/api/v1/oauth/tokens.json?user_id={0}&consumer_key={1} 

トークンのユーザーにアクセスするには、次のエンドポイントを使用しました。

問題は、一部のユーザーにとってエンドポイントが正常に動作していて、JSON応答を返すことです。しかし、一部のユーザーのためのエンドポイントが戻っている「リモートサーバーがエラーを返しました:(400)不正な要求

は、誰かが私に教えてくださいすることができ

private YammerJSONUserContract GetUserDetailsFromYammer(string userID, string clientID) 
    { 
     YammerJSONUserContract objUser = null; 
     try 
     { 
      string URL = string.Format(this.userImpersonationURL, userID, clientID); 
      string jsonString = PostYammerJson(URL, this._adminAccessToken, "GET"); 
      YammerJSONUserContract [] objUserCollection = Newtonsoft.Json.JsonConvert.DeserializeObject<YammerJSONUserContract[]>(jsonString); 
      objUser = objUserCollection[0]; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     return objUser; 
    } 
private string PostYammerJson(string url, string accessToken, string httpMethod) 
    { 
     string json = string.Empty; 
     try 
     { 

      HttpWebRequest YammerRequest = HttpWebRequest.Create(url) as HttpWebRequest; 
      YammerRequest.Method = httpMethod; 
      YammerRequest.ContentType = "application/json; odata=verbose"; 
      YammerRequest.Accept = "application/json; odata=verbose"; 
      YammerRequest.ContentLength = 0; 
      YammerRequest.Headers.Add("Authorization", string.Concat("Bearer ", accessToken)); 
      using (HttpWebResponse response = YammerRequest.GetResponse() as HttpWebResponse) 
      { 
       Encoding encode = Encoding.GetEncoding("utf-8"); 
       StreamReader reader = new StreamReader(response.GetResponseStream(), encode); 
       json = reader.ReadToEnd(); 
      } 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     return json; 
    } 

以下の私のコードを見つけてくださいどのようなI APIがすべてのユーザーではなく一部のユーザーに対してユーザーの詳細を返すのはなぜですか?

ご返信をお待ちしています。

乾杯 Amlan

+0

PostYammerJsonとは何ですか?そのコードも投稿してください。既に –

答えて

0

これは、ロングショットですが、多分あなたは値「のOAuth」であなたのリクエストにAuthorizationヘッダーを追加する必要があります。以下のような

何か:

request.Headers.Authorization = oauth; 
+0

が完了しました。コードをご確認ください –

0

あなたは、いくつかのユーザーのために成功したトークンが、私はあなたが正しくコールをフォーマットしていると仮定しているので、他の人のために400エラーを取得しました。唯一の変数はユーザーです。保留中、中断中、または削除済みの状態ではなく、400エラーがアクティブになっているユーザーを確認しましたか?

関連する問題