【问题标题】:DotNetOpenAuth Twitter API Version 1.1 calls in MVC4MVC4 中的 DotNetOpenAuth Twitter API 版本 1.1 调用
【发布时间】:2013-01-17 09:14:55
【问题描述】:

我正在编写一个 MVC4 Web 应用程序,它必须查询 Twitter 版本 1.1 API。内置于MVC4中,我可以在AuthConfig.cs中激活OAuthWebSecurity.RegisterTwitterClient时使用“使用Twitter登录”功能。然后验证 Twitter 登录,但我想做的是授权用户,以便我可以代表用户进行 API v1.1 调用。

我在 Stack Overflow 上找到了 this post,它使用自定义类来解决不同的问题(force_login 参数问题),但我使用了这些类并将 UserAuthorizationEndpoint 更改为指向 oauth/授权。我改了这行代码:

UserAuthorizationEndpoint = new MessageReceivingEndpoint("https://api.twitter.com/oauth/authenticate", HttpDeliveryMethods.GetRequest | HttpDeliveryMethods.AuthorizationHeaderRequest),

到这里:

UserAuthorizationEndpoint = new MessageReceivingEndpoint("https://api.twitter.com/oauth/authorize", HttpDeliveryMethods.GetRequest | HttpDeliveryMethods.AuthorizationHeaderRequest),

它适用于授权,这意味着现在我的应用程序授权了 Twitter 用户。但是,当我调用 API v1.1 时,我收到“(401) Unauthorized”错误。这是我用于调用的代码:

var var1 = WebWorker.PrepareAuthorizedRequest(new MessageReceivingEndpoint("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=sitestreams", HttpDeliveryMethods.GetRequest), accessToken);
var var2 = var1.GetResponse();

我想我还需要 oauth_token_secret 来授权调用。 DotNetOpenAuth 可以给我 oauth_token_secret 吗?然后我可以使用 WebWorker.PrepareAuthorizedRequest 是否也发送 oauth_token_secret

我还在 Stack Overflow 上找到了 this post,上面说我不能为此使用 DotNetOpenAuth。但是,从那以后 DotNetOpenAuth 代码已经更新,我想知道它现在是否适合我想做的事情,这本质上是一件非常简单的事情:允许用户使用 Twitter 登录我的 Web 应用程序,然后允许我的网络应用程序来查看用户的关注者。

所以归结为:我可以在 MVC4 中使用 DotNetOpenAuth 来授权用户,然后代表用户调用 Twitter API v1.1,例如 GET Followers/ id。如果可能,我该怎么做?

【问题讨论】:

    标签: asp.net-mvc-4 twitter-oauth dotnetopenauth


    【解决方案1】:

    是的,DotNetOpenAuth 绝对可以用于此。您可以下载DotNetOpenAuth samples,其中包括一个 OAuthConsumer 项目和一个 Twitter.aspx 页面,该页面显示了如何执行此操作。是的,它是 Web 表单而不是 MVC,但翻译起来并不难。

    您遇到问题的原因是您尝试使用 Microsoft 提供的 DotNetOpenAuth.AspNet 命名空间中的类,这些类严格用于身份验证而不是授权。使用示例中的 WebConsumer/TwitterConsumer 类将允许您执行您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 2018-12-23
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      相关资源
      最近更新 更多