我创建了一个Windows移动应用,允许用户使用Azure移动服务登录Twitter。我正在尝试使用.NET后端来检索有关当前登录到Twitter的用户的信息。当用户通过以下代码将访问令牌传递到Facebook的图形API时,我已成功完成此操作:
var accessToken = fb.AccessToken;
result.Add("facebook", await GetProviderInfo("https://graph.facebook.com/me?access_token=" + accessToken));
然而,当尝试使用Twitter时:
var accessToken = tw.AccessToken;
result.Add("twitter", await GetProviderInfo("https://api.twitter.com/oauth/access_token?=" + accessToken));
该服务抛出错误并且不返回任何用户信息。
我尝试过搜索从Twitter检索用户信息的解决方案或代码示例,但我能找到的唯一资源是从以下链接中检索来自Facebook和Microsoft的信息:http://azure.microsoft.com/blog/2014/10/02/custom-login-scopes-single-sign-on-new-asp-net-web-api-updates-to-the-azure-mobile-services-net-backend/
答案 0 :(得分:0)
根据您发布的代码,您未执行的操作是按照API文档(https://dev.twitter.com/oauth/overview/authorizing-requests)中的说明发送Twitter所需的身份验证标题以及您的请求。
GitHub的wadewegner用户发布了一些可以帮助您入门的代码。
https://github.com/wadewegner/TwitterOAuthRESTAPI/tree/master/src
更具体地说,请查看以下类,了解如何从Twitter获取用户信息:
UsersLookup()
和HttpSend<T>(string authHeader, Uri uri)
方法。希望这有帮助。