C# 从Azure Webjob连接到Yammer
我正在尝试使用Yammer的.NET SDK连接到Yammer,但是我在管理这个方面花了很多时间。。。本练习的重点是在Azure中创建一个应用程序,该应用程序定期和自动地联系Yammer并从特定Yammer组获取最新消息 有人知道使用Yammer.NET SDK的正确方法吗?比如说,控制台应用程序不依赖浏览器(也称为直接用户交互)通过OAuth身份验证成功连接C# 从Azure Webjob连接到Yammer,c#,yammer,azure-webjobs,C#,Yammer,Azure Webjobs,我正在尝试使用Yammer的.NET SDK连接到Yammer,但是我在管理这个方面花了很多时间。。。本练习的重点是在Azure中创建一个应用程序,该应用程序定期和自动地联系Yammer并从特定Yammer组获取最新消息 有人知道使用Yammer.NET SDK的正确方法吗?比如说,控制台应用程序不依赖浏览器(也称为直接用户交互)通过OAuth身份验证成功连接 我所尝试的: 试图从上给出的示例中找出要执行的操作,您可以在“标准流程”下看到一个示例,其中显示了签名不正确的LaunchSignIn
我所尝试的: 试图从上给出的示例中找出要执行的操作,您可以在“标准流程”下看到一个示例,其中显示了签名不正确的
LaunchSignIn()
函数!该示例显示了以下用法:
var authResponse = await OAuthUtils.LaunchSignIn(_clientConfig.ClientId, _clientConfig.RedirectUri, ssoEnabled);
而我从dll中得到的实际签名是:
void OAuthUtils.LaunchSignIn(string clientId, string RedirectUri)
我将原谅缺少的ssoabled
参数。。。但该示例声称该函数接收一个响应,然后从中提取code
。当然,这是我尝试调用时遗漏的部分:
(awaitable) Task<AuthEnvelope> AuthClient.AuthenticateAppAsync(string code)
(等待)任务,显然是由开发人员完成的。我已经检查了这个示例,但是其中的两个部分——一个用于Windows Phone,另一个用于Windows“Modern App”——都依赖于可用的浏览器对象,或者类似的东西。有重定向,我应该有一个重定向URI供Yammer指示我…-这是我能找到的使用.NET SDK的唯一其他示例
我想签名不同的原因是因为它实际上根本不是同一个函数。我尝试使用的是Yammer.Oss.Api.Utils
中的一个,而示例应用程序除了类OAuthUtils
的名称之外,甚至没有将字母Utils
放在一起。。。这让我相信它可能在Yammer.Oss.Core.WinRT
下,幸运的是,我根本无法引用它Yammer.Oss.Core
仅包含集合
、常量
、扩展
和序列化
顺便说一句,在.NET SDK的发布中(请参见上面的第一个链接),指向SDK文档的链接将指向Yammer支持页面。跳过.NET SDK,只需使用。然后用和发出请求。SDK可能对一些现代应用程序很有帮助,但对大多数人来说,它太过分了。手动使用API时,最糟糕的事情是使用JSON.NET或其他JSON库反序列化JSON响应
您没有说明要构建什么,但AFAIK WebJobs没有UI,因此您需要从控制台应用程序或网站进行授权。然后将生成的OAuth令牌存储在WebJob可以访问的地方。如果每个用户都需要OAuth令牌,则需要将其存储在数据库中,但要努力保护它们,因为每个OAuth令牌都提供对其Yammer帐户的访问。我将此标记为答案,因为它满意地回答了有关.NET SDK的问题,虽然它还没有帮助我在实际连接Yammer方面取得很大进展。在身份验证过程中,超过对Yammer的初始调用的所有调用都返回404…似乎我得到了404,因为我没有向Yammer提供请求所需的cookies,如图所示-。现在好像在跑步。将在Azure WebJob上检查它