如何通过twitter / get twitter个人资料图片进行身份验证

时间:2014-08-21 16:09:48

标签: objective-c twitter twitter-oauth api-key slrequest

我想获得推特个人资料图片。我得到了ACAccount。然后我做一个SLRequest。 问题是响应是空的......该应用程序已添加到Twitter开发人员站点上。我从来没有获得OAuth令牌,甚至没有使用我的应用程序中的开发者网站生成的密钥。我应该在任何地方存储oauth令牌和/或使用密钥吗?对于Facebook,我设置appID facebook给了我的plist。它与twitter api密钥类似吗?

编辑:响应不为空。我认为其中有一个二进制字符。但是当我打印出timelineData时,它显示为空。

-(void)slRequestTwitter:(ACAccount *)selectedTwitterAccount
{
    NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/user_timeline.json"];
    NSDictionary *params = @{@"screen_name" : selectedTwitterAccount.username,
                             @"include_rts" : @"0",
                             @"trim_user" : @"1",
                             @"count" : @"1"};
    SLRequest *request =
    [SLRequest requestForServiceType:SLServiceTypeTwitter
                       requestMethod:SLRequestMethodGET
                                 URL:url
                          parameters:params];
    //Attach account to request
    [request setAccount:selectedTwitterAccount];

    //Execute request
    [request performRequestWithHandler:^(NSData *responsedata, NSHTTPURLResponse *urlResponse, NSError *error){
        if(responsedata){
            if(urlResponse.statusCode >= 200 && urlResponse.statusCode < 300){
                NSError *jsonError;
                NSDictionary *timelineData = [NSJSONSerialization JSONObjectWithData:responsedata options:NSJSONReadingAllowFragments error:&jsonError];
                if(timelineData){
                    NSLog(@"Timeline Response: %@\n", timelineData);
                }
                else {
                    //Json deserialization went wrong
                    NSLog(@"JSON error: %@ : %s", [jsonError localizedDescription], __PRETTY_FUNCTION__);
                }
            }
            else {
                //Server did not respond
                NSLog(@"The response status code is %d", urlResponse.statusCode);
            }
        }
    }];
}

1 个答案:

答案 0 :(得分:0)

您可以将此项目用于此目的

https://github.com/fhsjaagshs/FHSTwitterEngine

有两种方法

// users / profile_image

- (id)getProfileImageForUsername:(NSString *)username andSize:(FHSTwitterEngineImageSize)size;

- (id)getProfileImageURLStringForUsername:(NSString *)username andSize:FHSTwitterEngineImageSize)size;

通过此方法获取您的个人资料图片只需在此处传递您的用户名