首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yammer获取用户令牌yammer REST

yammer获取用户令牌yammer REST
EN

Stack Overflow用户
提问于 2017-07-28 08:24:47
回答 2查看 769关注 0票数 0

我正在尝试将用户添加到Yammer组中,为此,我需要获得要添加到组中的用户的令牌。我使用了以下端点来访问用户令牌

代码语言:javascript
复制
https://api.yammer.com/api/v1/oauth/tokens.json?user_id={0}&consumer_key={1}

对于consumer_key,我将传递我创建的yammer应用程序的ClientID (使用已验证的管理帐户)。

问题是,对于某些用户来说,端点工作正常,并返回JSON响应。但是对于某些用户来说,端点返回“远程服务器返回一个错误:(400)坏请求.

请在下面找到我的密码

代码语言:javascript
复制
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;
    }

有人能告诉我我缺少了什么吗?为什么API会返回一些用户的详细信息,但不是全部。

等待你的回应。

干杯,安兰

EN

回答 2

Stack Overflow用户

发布于 2017-07-28 09:28:46

这是一个很长的机会,但也许您需要添加授权头到您的请求值"oauth“。

类似于:

代码语言:javascript
复制
request.Headers.Authorization = oauth;
票数 0
EN

Stack Overflow用户

发布于 2017-08-02 22:11:51

您说您为一些用户获得了一个成功的令牌,但对于另一些用户则是一个400错误,所以我假设您正在正确地格式化调用。唯一的其他变量是用户。您是否验证了它为您提供400错误的用户是否处于活动状态,而不是处于挂起、挂起或删除状态?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45368475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档