【问题标题】:iOS - how to get twitter OAuthtoken with username and passwordiOS - 如何使用用户名和密码获取 twitter OAuthtoken
【发布时间】:2013-05-23 04:21:21
【问题描述】:

我是 iPhone 的新手,我只是想创建一个应用程序,它有一个接受 twitter 用户名和密码的登录屏幕,

但我不知道如何获得 Oauthtoken

我得到了一些帮助来调用这个网址

https://api.twitter.com/oauth/access_token

但不知道这些参数中的值发送什么

oauth_consumer_key, oauth_consumer_secret, oauth_nonce, oauth_signature_method.

或任何其他从 twitter 获取 Oauthtoken 的方法

谢谢,提前。

【问题讨论】:

标签: iphone ios ipad twitter twitter-oauth


【解决方案1】:

1 - 在 Twitter 网站https://dev.twitter.com/apps 上创建一个应用程序,您将获得一个“消费者密钥”和一个“消费者秘密”。

2 - 将 STTwitter 库添加到您的项目中 https://github.com/nst/STTwitter

3 - 以下代码将按照您的要求登录并打印“访问令牌”和“访问令牌密码”:

STTwitterAPI *twitter = 
    [STTwitterAPI twitterAPIWithOAuthConsumerName:@"MyApp"
                                      consumerKey:@"BJaKx0V7hdDafkFXK4P08g"
                                   consumerSecret:@"DRSZf2Bc9Qgl0HDE7gGjzXYuQPkwk9gsAYgENFnWJs"
                                         username:@"nst021"
                                         password:@"xxxxxxxx"];

[twitter verifyCredentialsWithSuccessBlock:^(NSString *username) {

    NSLog(@"-- access granted for %@", username);
    NSLog(@"-- oauthAccessToken %@", twitter.oauthAccessToken);
    NSLog(@"-- oauthAccessTokenSecret %@", twitter.oauthAccessTokenSecret);
} errorBlock:^(NSError *error) {
    NSLog(@"-- error %@", error);
}];

4 - 然后您可以通过这种方式检索时间线:

[twitter getHomeTimelineSinceID:nil count:@"20" successBlock:^(NSArray *statuses) {
    // ...
} errorBlock:^(NSError *error) {
    // ...
}];

【讨论】:

    【解决方案2】:

    为此,您需要一个 twitter 帐户。登录 https://dev.twitter.com/apps 以创建新应用程序,因此您将拥有 oauth_consumer_key、oauth_consumer_secret 密钥。

    你的推特键应该和这些类似

    消费者密钥:

    Cyn74Fsa8fMn7lvEcnWK8A
    

    消费者秘密:

    sUeiThf1tEPV3od9jKBAuN8LdmDsLnAaH5RmG4ZWFE
    

    【讨论】:

    • NSMutableURLRequest *请求= [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@ “api.twitter.com/oauth/access_token"]];[request setHTTPMethod:@” POST “];的NSString * postString = @” oauth_consumer_key = Cyn74Fsa8fMn7lvEcnWK8A&oauth_consumer_secret = sUeiThf1tEPV3od9jKBAuN8LdmDsLnAaH5RmG4ZWFE&oauth_version = 1.0&x_auth_mode = client_auth&x_auth_password = mypassword&x_auth_username = myusername"; [request setHTTPBody:[postString dataUsingEncoding:NSASCIIStringEncoding]]; 但它响应 null
    • 尝试使用这个 urlString twitter.com/oauth/access_token 而不是 api.twitter.com
    • 仍然响应 null NSError requestError; NSURLResponse *urlResponse = nil; NSData *response1 = [NSURLConnection sendSynchronousRequest:request returnedResponse:&urlResponse error:&requestError]; NSError 错误; NSDictionary *rootObject = [NSJSONSerialization JSONObjectWithData:response1 //1 个选项:kNilOptions error:&error];
    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    相关资源
    最近更新 更多