1

我想获取 Twitter 个人资料图片。我得到了 ACAccount。然后我做一个 SLRequest。问题是响应是空的......该应用程序已添加到 twitter 开发人员网站上。我从未获得过 OAuth 令牌,甚至从未在我的应用程序中使用从开发者网站生成的密钥。我应该在任何地方存储 oauth 令牌和/或使用密钥吗?对于 facebook,我在 plist 中设置了 facebook 给我的 appID。它与 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);
            }
        }
    }];
}
4

1 回答 1

0

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

https://github.com/fhsjaagshs/FHSTwitterEngine

有两种方法

// 用户/profile_image

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

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

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

于 2014-09-01T09:32:04.150 回答