Xamarin Android Xamarin.Auth - Twitter
问题描述:
我在Xamarin Android中执行twitter登录时遇到问题。 我已经包含了Xamarin.Auth组件,它对Facebook很好。 Fot twitter auth.Completed event is not called ... 我在twitter dev门户上创建了示例应用程序。Xamarin Android Xamarin.Auth - Twitter
下面是从应用我的代码:
private void LoginTwitter()
{
var auth = new OAuth1Authenticator(
consumerKey: "3v7rOXkdexGYhQmr3HVhtGgPO",
consumerSecret: "mGhRjee87tAp4X0vHUmMIohWoYy0JGg9zFGyin7CigFP64y3j5",
requestTokenUrl: new Uri("https://api.twitter.com/oauth/request_token"),
authorizeUrl: new Uri("https://api.twitter.com/oauth/authorize"),
accessTokenUrl: new Uri("https://api.twitter.com/oauth/access_token"),
callbackUrl: new Uri("http://twitter.com")
);
auth.AllowCancel = true;
StartActivity(auth.GetUI(this));
auth.Completed += (s, eventArgs) =>
{
if (eventArgs.IsAuthenticated)
{
Account loggedInAccount = eventArgs.Account;
//save the account data for a later session, according to Twitter docs, this doesn't expire
AccountStore.Create(this).Save(loggedInAccount, "Twitter");
}
};
}
我希望有人可以帮助。
答
好吧,我已经自己解决了这个问题。 当创建新OAuth1Authenticator 回调URL应设置为mobile.twitter.com不twitter.com
callbackUrl: new Uri("http://mobile.twitter.com")
之后,你将能够获得令牌。
希望它能帮助未来的人。 :)
编辑:您需要使用http://mobile.twitter.com/home
NOW-
答
我认为你需要移动你的Completed
事件处理,因为我相信StartActivity
被阻止。
private void LoginTwitter()
{
var auth = new OAuth1Authenticator(
consumerKey: "3v7rOXkdexGYhQmr3HVhtGgPO",
consumerSecret: "mGhRjee87tAp4X0vHUmMIohWoYy0JGg9zFGyin7CigFP64y3j5",
requestTokenUrl: new Uri("https://api.twitter.com/oauth/request_token"),
authorizeUrl: new Uri("https://api.twitter.com/oauth/authorize"),
accessTokenUrl: new Uri("https://api.twitter.com/oauth/access_token"),
callbackUrl: new Uri("http://twitter.com")
);
auth.AllowCancel = true;
auth.Completed += (s, eventArgs) =>
{
if (eventArgs.IsAuthenticated)
{
Account loggedInAccount = eventArgs.Account;
//save the account data for a later session, according to Twitter docs, this doesn't expire
AccountStore.Create(this).Save(loggedInAccount, "Twitter");
}
};
StartActivity(auth.GetUI(this));
}
+0
谢谢你,但它仍然没有工作...:( –
非常感谢!! :) –
只是一个快速更新到这一点,他们现在重定向到这个地址:https://mobile.twitter.com/home,所以你现在需要使用这个作为回调。 – Richard