从Twitter API获取当前用户的信息

时间:2010-06-27 18:14:40

标签: twitter

我正在构建一个Twitter应用程序(使用oAuth),但我无法找到有关如何获取当前用户信息的任何信息。

对于当前用户,我的意思是授予我的应用权限的用户以及该应用向API发出请求的用户。

有什么建议吗?

4 个答案:

答案 0 :(得分:62)

答案 1 :(得分:4)

答案 2 :(得分:2)

使用oAuth,您可以拨打电话从TwitterOAuth对象获取用户信息。

,例如

$oauth = new TwitterOAuth([keys here]);

$credentials = $oauth->get('account/verify_credentials');

echo "Connected as @" . $credentials->screen_name ."\n";

答案 3 :(得分:0)

尊重iOS的解决方案:

1)如果您的设备上有Twitter帐户(即来自ACAccount的{​​{1}}),您唯一需要的是将其附加到SLRequest并从返回的字典中获取所有用户信息:

ACAccountStore

2)否则 - 您需要发送OAuth(X-Auth)用户凭据。最简单的方法是使用TWTROAuthSigning类来检索OAuth-params:

NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1.1/account/verify_credentials.json"];
NSMutableDictionary *params = [NSMutableDictionary new];
[params setObject:[Twitter sharedInstance].session.userID forKey:@"user_id"];
[params setObject:@"0" forKey:@"include_entities"];
[params setObject:@"1" forKey:@"skip_status"];
[params setObject:@"1" forKey:@"include_email"];

SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:url parameters:params];
[request setAccount:twitterAccount]; //one of the Twitter Acc
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
    if (responseData) {
        NSDictionary *twitterData = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:NULL];
        });

    }else {
        NSLog(@"Error while downloading Twitter user data: %@", error);
    }
}];

并将普通请求附加凭证作为标题字段发送:

TWTROAuthSigning *oauthSigning =
                         [[TWTROAuthSigning alloc]
                          initWithAuthConfig:
                          [Twitter sharedInstance].authConfig
                          authSession:session];
                         NSDictionary *authHeaders =
                         [oauthSigning OAuthEchoHeadersToVerifyCredentials];

如果您支持旧版本的Twitter SDK或搜索更多选项,我建议您查看STTwitter lib