如何使用twitter API在Twitter上分享?
问题描述:
使用誓言API我的代码如下Twitter上分享:如何使用twitter API在Twitter上分享?
NSURL* accessTokenUrl = [NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/update.json"];
OAMutableURLRequest* accessTokenRequest = [[OAMutableURLRequest alloc] initWithURL:accessTokenUrl consumer:consumer token:requestToken realm:nil signatureProvider:nil];
OARequestParameter* verifierParam = [[OARequestParameter alloc] initWithName:@"oauth_verifier" value:verifier];
[accessTokenRequest setHTTPMethod:@"POST"];
[accessTokenRequest setValue:@"Test" forHTTPHeaderField:@"X-Twitter-Client"];
[accessTokenRequest setValue:@"1.0" forHTTPHeaderField:@"X-Twitter-Client-Version"];
[accessTokenRequest setValue:callback forHTTPHeaderField:@"X-Twitter-Client-URL"];
[accessTokenRequest setParameters:[NSArray arrayWithObject:verifierParam]];
OADataFetcher* dataFetcher = [[OADataFetcher alloc] init];
[dataFetcher fetchDataWithRequest:accessTokenRequest
delegate:self
didFinishSelector:@selector(didReceiveRequestToken:data2:)
didFailSelector:@selector(didFailOAuth:error:)];
但我得到如下回应: {“错误”:[{“消息”:“无效的或过期的令牌”,“代码” :89}]}
但我的令牌是有效的,并没有过期,因为我从这个成功获取用户配置文件。 所以任何人都可以帮助我在这段代码中缺少的东西?
答
// PLZ试试这个代码..
-(IBAction)ShareOnTwitter :(id)sender
{
UIButton *btn4=(UIButton *)sender;
int count = (int)btn4.tag;
NSLog(@"ShareOnTwitter count=%d",count);
UIImage *image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.jpg",Pathforimage,[[Array_result objectAtIndex:count] objectForKey:@"img_File_Name"]]];
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result)
{
if (result == SLComposeViewControllerResultCancelled)
{
NSLog(@"Cancelled");
}
else
{
NSLog(@"Done");
}
[controller dismissViewControllerAnimated:YES completion:Nil];
};
controller.completionHandler =myBlock;
//Adding the Text to the twitter post value from iOS
[controller setInitialText:@""];
//Adding the Image to the twitter post value from iOS
[controller addImage:image];
[self presentViewController:controller animated:YES completion:Nil];
}
else
{
NSLog(@"UnAvailable");
}
}
+0
检查我的问题,我想使用API。 – 2014-12-19 11:10:28
尝试创建新tocken – Amy 2014-12-19 07:02:29
@Amy但使用相同的accessToken我得到用户的个人资料。如果其过期如何获得个人资料? – 2014-12-19 07:11:56
@Pooja:Twitter文档很好解释,你可以在这里找到解决方案https://dev.twitter.com/web/sign-in/implementing – Mrunal 2014-12-19 08:54:14