gpt4 book ai didi

ios - 使用 gtm-oauthauthentication 发布推文

转载 作者:行者123 更新时间:2023-11-29 13:05:20 25 4
gpt4 key购买 nike

我已经使用 GTMOAuthAuthentication 进行 Twitter 身份验证,我可以使用以下代码成功登录 Twitter ..

NSURL *requestURL = [NSURL URLWithString:@"https://api.twitter.com/oauth/request_token"];
NSURL *accessURL = [NSURL URLWithString:@"https://api.twitter.com/oauth/access_token"];
NSURL *authorizeURL = [NSURL URLWithString:@"https://api.twitter.com/oauth/authorize"];
NSString *scope = @"http://api.twitter.com/";
GTMOAuthAuthentication * auth = [self authForTwitter];
[auth setCallback:@"http://www.noop.com/OAuthCallback"];
[auth setCallback:@"http://www.noop.com/OAuthCallback"];
GTMOAuthViewControllerTouch *viewController = [[GTMOAuthViewControllerTouch alloc]
initWithScope:scope
language:nil
requestTokenURL:requestURL
authorizeTokenURL:authorizeURL
accessTokenURL:accessURL
authentication:auth
appServiceName:@"AppName : Twitter"
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];

[self.navigationController pushViewController:viewController animated:YES];

我在身份验证后获得了访问 token 。现在我想将文本、图像和 url 发布到 twitter。如果我使用以下代码,我会得到 410 错误代码

    NSString *body = [NSString stringWithFormat: @"status=thisisatest"];
NSString *urlStr = @"http://api.twitter.com/1/statuses/update.json";
NSURL *url = [NSURL URLWithString:urlStr];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: [body dataUsingEncoding:NSUTF8StringEncoding]];
GTMHTTPFetcher* myFetcher = [GTMHTTPFetcher
fetcherWithRequest:request];
[myFetcher setAuthorizer: auth];
[myFetcher beginFetchWithCompletionHandler:^(NSData *retrievedData,
NSError *error)
{
if (error != nil)
{
NSLog(@"POST error: %@", error);
}
else
{
NSDictionary *results = [[[[NSString alloc] initWithData:
retrievedData encoding:NSUTF8StringEncoding] autorelease] JSONValue];
NSLog(@"POST Successful: #%@ @ %@", [results objectForKey:
@"id"], [results objectForKey: @"created_at"]);
}
}];

谁能告诉我我在这个方法中做错了什么?

提前致谢。

最佳答案

使用 1.1 API。版本 1 现在被认为已弃用,您也可以在文档中阅读。

https://api.twitter.com/1.1/statuses/update.json 

关于ios - 使用 gtm-oauthauthentication 发布推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18781991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com