在我的应用程序中,我想显示来自另一个用户时间轴的推文。有可能吗?我可以访问不需要身份验证的 user_timelines,但对于 home_timelines 我需要进行身份验证,但是我如何阅读另一个用户公共时间线?
1 回答
如果您希望从特定用户的 home_timeline 获取推文,则需要进行身份验证。不幸的是,您最好的选择可能只是授权并获取设备上的帐户。然而,这并不是一项艰巨的任务。下面是我在 Twitter 应用程序中用于请求访问该帐户的一些代码。
// Create an account store object.
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
// Create an account type that ensures Twitter accounts are retrieved.
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
// Request access from the user to use their Twitter accounts.
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
if(granted) {
// Get the list of Twitter accounts.
NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
// For the sake of brevity, we'll assume there is only one Twitter account present.
// You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present.
if ([accountsArray count] > 0) {
// Grab the initial Twitter account to tweet from.
ACAccount *twitterAccount = [accountsArray objectAtIndex:0];
//At this point, the twitterAccount has been pulled into the *twitterAccount object.
}
}
编辑:
根据下面的评论,您希望显示home_timeline
来自 BBC,类似于您在twitter.com/BBCNews中看到的内容。home_timeline API 调用仅返回当前已验证帐户的时间线。这意味着您将只能获取正在使用您的应用程序的用户的时间线。
如果您想获取另一个用户的时间线,例如 BBCNews,您需要使用user_timeline API 调用并在参数中指定您想要时间线的用户,类似于选择 twitterapi 帐户时间线的 twitter 示例。
此外,从它的声音来看,user_timeline
API 调用对您不起作用,因为您还想查看转推。如果您查看文档,您将看到一个可选参数,您可以在 API 调用中使用该参数include_rts
将包括或排除转发。
这将解决您的问题。过去很多时候,当我使用 Twitter API 并遇到问题时,我会问自己“我面临的问题是一个简单的问题吗?”。如果您实际面临的问题确实很简单,那么您可以放心,问题可能已经被处理或解决了,只是您还没有找到解决方案。继续破解它。 user_timeline
是您想要使用的,只需使用参数即可。