gpt4 book ai didi

c# - 从 Azure Webjob 连接到 Yammer

转载 作者:行者123 更新时间:2023-11-30 17:43:29 25 4
gpt4 key购买 nike

我正在尝试使用他们的 .NET SDK 连接到 Yammer,但我很难管理它......这个练习的重点是在 Azure 中创建一个应用程序,它定期 - 并且自动 - 联系 Yammer 和从特定 Yammer 组获取最新消息。

有谁知道使用 Yammer .NET SDK 的正确方法,比方说,控制台应用程序不依赖浏览器(也就是直接用户交互)通过 OAuth 身份验证成功连接?


我尝试过的:

试图从 .NET SDK page on developer.yammer.com 上给出的示例中找出要做什么,您可以在“标准流程”下看到一个示例,其中显示了带有错误签名的 LaunchSignIn() 函数!该示例显示用法为:

var authResponse = await OAuthUtils.LaunchSignIn(_clientConfig.ClientId, _clientConfig.RedirectUri, ssoEnabled);

而我从 dll 获得的实际签名是:

void OAuthUtils.LaunchSignIn(string clientId, string RedirectUri)

我会原谅缺少的 ssoEnabled 参数...但是该示例声称函数收到响应,然后从中提取 Code。当然,这是我尝试调用时遗漏的部分:

(awaitable) Task<AuthEnvelope> AuthClient.AuthenticateAppAsync(string code)

我在 Google 上搜索了有关使用 Yammer .NET SDK 的信息,但一无所获。连接到 Yammer 的各种方式示例,但没有一个以任何方式与 .NET API 相关。我所看到的唯一相关的是 Yammer .NET API example uploaded ,显然,由开发它的人,who posted the code on GitHub .我已经检查了这个示例,但其中的两个部分——一个用于 Windows Phone,一个用于 Windows“现代应用程序”——都依赖于可用的浏览器对象,或者无论如何都依赖于某种效果。有重定向,我应该有 Yammer 的 RedirectUri 来指导我... So does this other example - 这是我能找到的唯一一个使用 .NET SDK 的例子。

我想签名不同的原因是因为这实际上根本不是同一个函数。我尝试使用的是 Yammer.Oss.Api.Utils 而示例应用程序甚至没有字母 Utils 除了在名称中class OAuthUtils... 这让我相信它可能在 Yammer.Oss.Core.WinRT 下,幸运的是,我根本无法引用它。 .. Yammer.Oss.Core 只包含Collections, Constants, Extensions and Serialization >.

顺便说一句,在 .NET SDK 的公告中(参见上面的第一个链接),SDK 文档的链接指向 Yammer 支持页面。

最佳答案

跳过 .NET SDK 并使用 server-side flow 自行授权.然后使用 HttpClient 发出请求和 add the Authorization header .该 SDK 可能对某些现代应用程序有帮助,但对大多数人来说有点过分了。手动使用 API 时,您必须处理的最糟糕的事情是使用 JSON.NET 或其他 JSON 库反序列化 JSON 响应。

您没有说明您要构建什么,但 AFAIK WebJobs 没有 UI,因此您需要从控制台应用程序或网站进行授权。然后将生成的 OAuth token 存储在 WebJob 可以访问的地方。如果您需要每个用户一个 OAuth token ,您需要将它们存储在数据库中,但要努力保护它们,因为每个 OAuth token 都提供对其 Yammer 帐户的访问权限。

关于c# - 从 Azure Webjob 连接到 Yammer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30849810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com