- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在制作一个应用程序,我想在其中的 TableView 中显示公司的 Twitter 提要。我创建了一个 TableView(如下所示,并将其链接到我的代码。我现在面临的问题是预定义推特用户、获取提要和解析数据。我已经接近通过 STTwitter API 获取推特提要以及消费者 key 和消费者 secret 。但是,我收到 401 身份验证错误。我无法连接我的提要,而且我一生中从未使用过 JSON,所以这对我来说是一项非常困难的任务。除了从 API 中,我尝试了下面的代码,结果是一条空白推文。
#import "FeedController3.h"
#import "FeedCell3.h"
#import "FlatTheme.h"
@interface FeedController3 ()
@property (nonatomic, strong) NSArray* profileImages;
@end
@implementation FeedController3
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSString* boldFontName = @"Avenir-Black";
[self styleNavigationBarWithFontName:boldFontName];
self.title = @"Twitter Feed";
self.feedTableView.dataSource = self;
self.feedTableView.delegate = self;
self.feedTableView.backgroundColor = [UIColor whiteColor];
self.feedTableView.separatorColor = [UIColor colorWithWhite:0.9 alpha:0.6];
self.profileImages = [NSArray arrayWithObjects:@"profile.jpg", @"profile-1.jpg", @"profile-2.jpg", @"profile-3.jpg", nil];
[self getTimeLine];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
//return _dataSource.count;
return 4;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
/*
FeedCell3* cell = [tableView dequeueReusableCellWithIdentifier:@"FeedCell3"];
cell.nameLabel.text = @"Laura Leamington";
cell.updateLabel.text = @"This is a pic I took while on holiday on Wales. The weather played along nicely which doesn't happen often";
cell.dateLabel.text = @"1 hr ago";
cell.likeCountLabel.text = @"293 likes";
cell.commentCountLabel.text = @"55 comments";
NSString* profileImageName = self.profileImages[indexPath.row%self.profileImages.count];
cell.profileImageView.image = [UIImage imageNamed:profileImageName];
return cell;
*/
FeedCell3* cell = [tableView dequeueReusableCellWithIdentifier:@"FeedCell3"];
NSDictionary *tweet = _dataSource[[indexPath row]];
cell.nameLabel.text = @"<Company Name>";
cell.updateLabel.text = tweet[@"text"];
cell.dateLabel.text = @"1 hr ago";
cell.likeCountLabel.text = @"293 likes";
cell.commentCountLabel.text = @"55 comments";
NSString* profileImageName = self.profileImages[indexPath.row%self.profileImages.count];
cell.profileImageView.image = [UIImage imageNamed:profileImageName];
return cell;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)styleNavigationBarWithFontName:(NSString*)navigationTitleFont{
/*
UIColor* color = [UIColor whiteColor];
[FlatTheme styleNavigationBar:self.navigationController.navigationBar withFontName:navigationTitleFont andColor:color];
*/
//[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:9.0f/255.0f green:49.0f/255.0f blue:102.0f/255.0f alpha:1.0f]];
UIImageView* searchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"search.png"]];
searchView.frame = CGRectMake(0, 0, 20, 20);
UIBarButtonItem* searchItem = [[UIBarButtonItem alloc] initWithCustomView:searchView];
self.navigationItem.rightBarButtonItem = searchItem;
/*
UIButton* menuButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 28, 20)];
[menuButton setImage:[UIImage imageNamed:@"menu.png"] forState:UIControlStateNormal];
[menuButton addTarget:self action:@selector(dismissView:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* menuItem = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
self.navigationItem.leftBarButtonItem = menuItem;
*/
}
-(IBAction)dismissView:(id)sender{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)getTimeLine {
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account
accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType
options:nil completion:^(BOOL granted, NSError *error)
{
if (granted == YES)
{
NSArray *arrayOfAccounts = [account
accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0)
{
ACAccount *twitterAccount =
[arrayOfAccounts lastObject];
NSURL *requestURL = [NSURL URLWithString:
@"https://api.twitter.com/1.1/statuses/user_timeline.json"];
NSDictionary *parameters =
@{@"screen_name" : @"@RileyVLloyd",
@"include_rts" : @"0",
@"trim_user" : @"1",
@"count" : @"20"};
SLRequest *postRequest = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodGET
URL:requestURL parameters:parameters];
postRequest.account = twitterAccount;
[postRequest performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse
*urlResponse, NSError *error)
{
self.dataSource = [NSJSONSerialization
JSONObjectWithData:responseData
options:NSJSONReadingMutableLeaves
error:&error];
if (self.dataSource.count != 0) {
dispatch_async(dispatch_get_main_queue(), ^{
[self.feedTableView reloadData];
});
}
}];
}
} else {
// Handle failure to get account access
}
}];
}
最佳答案
您不需要预先定义 Twitter 帐户。
您应该使用“仅限应用程序”模式。
你只需要 a couple of lines与 STTwitter:
STTwitterAPI *twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:@""
consumerSecret:@""];
[twitter verifyCredentialsWithSuccessBlock:^(NSString *bearerToken) {
[twitter getUserTimelineWithScreenName:@"nike"
successBlock:^(NSArray *statuses) {
// ...
} errorBlock:^(NSError *error) {
// ...
}];
} errorBlock:^(NSError *error) {
// ...
}];
然后,当您获得状态时,用它们填充您的 tableView 的数据源,并重新加载表格。
关于ios - 使用 JSON 解析指定的 Twitter 提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416638/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve thi
当我将 JSON 提要(Wordpress JSON 提要)解析到我的 React Native 提要页面时,我在模拟器中没有看到任何结果,以下是我正在使用的代码; ------------AppBo
我有一个网页,其中有一个搜索页面。我提供了一个用于搜索的“动态”RSS 提要,以便用户可以订阅他喜欢的任何搜索词的搜索结果。 所以我想知道如果该搜索词返回 0 个结果(这意味着我没有“项目”可放入提要
我想要测试我创建的 RSS Feed,我正在寻找一些好的 RSS Feed 应用程序来测试。 最佳答案 不要只是尝试一堆,看看它是否有效 - 验证它。让我为您谷歌一下: W3C RSS validat
我有一些 PHP 代码可以合并两个 RSS 提要。我试图按日期对提要进行排序,但我得到了一个有趣的结果: 两个 Feed 分别排序(第一个 Feed 先列出,然后第二个饲料) 第一个提要按升序排序,第
我最近开始使用“新 Google 表格”(电子表格),他们将 URL 更改为共享的公共(public)电子表格,我不确定如何获取电子表格数据的 JSON 提要。 基于来自此 URL 的数据:https
我想知道在您的应用程序中使用其他人的 RSS 提要(例如 BBC RSS 提要)是否存在任何法律问题? 最佳答案 你真的应该问律师。但是,我在 out-law.com 上找到了这个: Using a
我们有一个提供一些 RSS 提要的站点,我们想知道有多少人订阅了每个提要,而不使用像 FeedBurner 这样的系统来为他们提供服务。 解决这个问题的原始方法基本上是记录请求,然后获取请求每个提要的
我有一个系统可以获取几百个 RSS 提要。目前,它们的刷新周期为 10 分钟,但我最好让它更快。以近实时/推送间隔获取 RSS 源的策略是什么? 我遇到的一些解决方案: 1分钟取一次;如果没有变化,则
我已经开始开发一个网页,最近聘请了某人编写代码以在 http://farmball.com/ 的中间面板中显示自定义提要(由 API 提供支持)。 . 请注意,这不是与站点博客 相关联的 RSS 提要
有谁知道我在哪里可以找到这个页面的 json 提要? http://twitter.com/#!/microsoft 我找到的最接近的是这个: http://twitter.com/status/us
如何使用 nuget 命令禁用 SSL 证书检查? PS C:\Softwares> .\nuget.exe list Unable to load the service index forsour
我订阅了许多 RSS 提要,主要来自我自己的时区(英国:目前是 GMT+1,又名 BST)。不过我也对新西兰的新闻感兴趣(目前为 GMT+12)。 我的问题是由于我沉迷于需要将未读计数保持在或接近于零
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我在 vb.net 设置中使用 fullCalendar。我使用包含在 aspx 页面中的 JSON 提要将数据传递到日历,如下所示: events: "JSONcalendarFeed.aspx"
我的应用程序使用雅虎的天气信息 (XML) 来显示 future 5 天的天气预报。当邮政编码在美国时,这很有效。例如,下面的 url 为我提供了密歇根州富兰克林的提要。 http://xml.wea
我有一个显示我的 Instagram 动态的网站。以前我在用Instagram 遵循 API。用户/ self /媒体/最近 此 API 使用我生成一次的访问 token ,并在我的代码中作为变量保存
是否可以为特定关键字获取 BlogSpot 的 RSS 提要? 我已尝试使用以下 URL,但它们似乎不起作用。 Atom 1.0: https://blogname.blogspot.com/
Basecamp 对其 RSS 提要使用 HTTP 身份验证,但这意味着 Google Reader, Bloglines and Firefox/Safari RSS don't work . 是否
是否可以创建多语言的 RSS (2.0) 提要?假设我主要用英语( en )写博客,但有时我会创建德语( de )帖子。 RSS 规范中是否对此提供支持?我在 RSS spec 中找不到任何内容在这个
我是一名优秀的程序员,十分优秀!