【问题标题】:LinkedIn windows phone oauth2 without uri没有uri的LinkedIn windows phone oauth2
【发布时间】:2014-01-31 16:37:20
【问题描述】:

我希望我的 Windows Phone 8 应用程序使用 LinkedIn 来搜索公司并获取联系人。为此,我需要一个访问令牌,而要获得它,我需要一个授权码。

据我所知,LinkedIn API 使用 OAUTH2,获取授权码的 url 如下:

https://www.linkedin.com/uas/oauth2/authorization?response_type=code
&client_id=YOUR_API_KEY
&scope=SCOPE
&state=STATE
&redirect_uri=YOUR_REDIRECT_URI

问题在于 REDIRECT URI 参数。我不想这样,因为我只想获取授权码,然后用代码获取Token。

你知道有什么办法可以避免重定向吗?还是使用某种不会将您带到其他网页的重定向?

【问题讨论】:

  • 你需要有一些重定向 URI。完美的方法是在 IE 中打开 URL,让您的应用程序监听您自己的协议处理程序,例如 yourapp://oauth,然后您可以从其 GET 参数中获取 OAuth 令牌。
  • 我认为重定向 URI 只允许 http、https 和 ftp。我在某处读过它
  • 如果是这样,您可以使用任何 URL(应该是您的服务器,因为所有者也可以读取 OAuth 令牌)然后您可以查看每个调用的 URI 的浏览器控件的 OnNavigated 事件,无论是在 URL 中有 OAuth 令牌。除了上面提到的2种,别无他法。
  • 可以使用 localhost 吗?
  • 你为什么不简单地在 Heroku 上托管一个空网站并使用它呢?它可以与 localhost 一起使用,但我不知道发生的 404 not found 错误是否会损害您的应用体验。我猜这可能会导致问题。

标签: c# api windows-phone uri linkedin


【解决方案1】:

我决定使用自定义主机,所以现在问题解决了。

【讨论】:

    【解决方案2】:

    如果有人遇到类似问题,我会为此苦苦挣扎,并找到了一种更简单的方法(可能不是正确的方法)。 我重定向到一个编造的地址 (http://madeupaddress.com) 并在导航事件中检查 url 是否以我编造的地址开头,如果是,我关闭浏览器并从 e.URI.Query 参数中获取令牌,然后应用使用代码获取访问令牌。

    感谢Vittorio Bertocci

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多