나는 내 Windows Phone 앱에서 Twitter를 통해 OAuth를 사용하기 위해 며칠 동안 노력했지만, 필자가 찾은 모든 정보는 날짜가 없거나 따라하기가 어렵습니다. 결국 어딘가에 내가이 블로그 게시물 http://samjarawan.blogspot.co.uk/2010/09/building-real-windows-phone-7-twitter_18.html을 찾았는데,이 토큰은 액세스 토큰을 얻는 모든 방법을 얻었습니다.Twitter, OAuth, 해먹, TweetSharp 및 Windows Phone 7
내 코드는 블로그 게시물에있는 코드와 거의 동일하지만 대부분 소비자 키와 소비자 비밀을 변경했습니다. 그들의 애플 리케이션조차도 작동하지 않습니다. 그것은 트위터 로그인 화면 벌금을 표시하고, 성공적으로 인증하지만, RequestAccessToken 기능에,이 시점에서 실패
if (String.IsNullOrEmpty(twitteruser.AccessToken) || String.IsNullOrEmpty(twitteruser.AccessTokenSecret))
{
Dispatcher.BeginInvoke(() => MessageBox.Show(response.Content));
return;
}
진짜로 짜증나는 일이 메시지 상자는 유니 코드 대체 문자를 보여줍니다() 아무것도 그밖에. 나는 또한 응답을 확인했다 .StatusCode 그리고 그것은 괜찮다. 그래서 내가 말할 수있는 한 오류가 없다.
누군가 나를 도와 줄 수 있다면 좋을 것입니다. PIN에 사용자 유형이 필요한 다른 자습서를 보았지만 그 중 하나를 사용할 수 없었습니다.
편집 : 방금 TweetSharp를 작동 시키려고했지만 액세스 토큰을 얻지 못했습니다. 여기에 TweetSharp에 사용하고있는 코드가 있습니다 :
public partial class TwitterAuthorisationPage : PhoneApplicationPage
{
private const string consumerKey = "myKey";
private const string consumerSecret = "mySecret"; // These are the correct values for my app
private const string requestTokenUri = "https://api.twitter.com/oauth/request_token";
private const string oAuthVersion = "1.0a";
private const string authorizeUri = "https://api.twitter.com/oauth/authorize";
private const string accessTokenUri = "https://api.twitter.com/oauth/access_token";
private const string callbackUri = "http://bing.com";
private TwitterService twitterService = new TwitterService(consumerKey, consumerSecret);
private OAuthRequestToken _requestToken = null;
public TwitterAuthorisationPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
twitterService.GetRequestToken((requestToken, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
_requestToken = requestToken;
Dispatcher.BeginInvoke(() => BrowserControl.Navigate(twitterService.GetAuthorizationUri(requestToken)));
}
else
{
Dispatcher.BeginInvoke(() => MessageBox.Show("Failed to connect to Twitter. Please try again.\n" + response.StatusDescription));
}
});
}
private void ConfirmButton_Click(object sender, RoutedEventArgs e)
{
twitterService.GetAccessToken(_requestToken, PINEntry.Text, (accessToken, response) =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
//These lines just print ?
System.Diagnostics.Debug.WriteLine(accessToken.Token);
System.Diagnostics.Debug.WriteLine(accessToken.TokenSecret);
twitterService.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
twitterService.VerifyCredentials((user, verifyResponse) =>
{
if (verifyResponse.StatusCode == HttpStatusCode.OK)
{
Dispatcher.BeginInvoke(() => MessageBox.Show(user.Name));
}
else
{
// Fails here
Dispatcher.BeginInvoke(() => MessageBox.Show("Failed to connect to Twitter. Please try again.1\n" + verifyResponse.StatusDescription));
}
});
}
else
{
Dispatcher.BeginInvoke(() => MessageBox.Show("Failed to connect to Twitter. Please try again.0\n" + response.StatusDescription));
}
});
}
}
편집 2 : 이걸로 할 수 있을까요? https://dev.twitter.com/blog/ssl-upgrade-for-twitterapi
이 뭐죠 응답하는 statusText에 작동 사용하는 코드이다? 또한 트위터 만 있으면 [TweetSharp] (https://github.com/danielcrenna/tweetsharp) – pradeek
응답에 statusText 속성이 없으며 StatusDescription이 있는데 "OK"라고 표시됩니다. . 나는 페이스 북 로그인을 사용할 계획이기 때문에 Facebook이 비슷한 단계를 요구할 것이라고 생각하기 때문에이 버전을 작동시키는 것이 좋을 것입니다. 한 번에 TweetSharp를 살펴 봤지만 빌드 할 수는 없었습니다. 다시 한 번 살펴 보겠습니다. –
내 편집을보고 TweetSharp가 작동하지 않거나 뭔가 빠졌습니다. –