从Dropbox OAuth“获取请求令牌”;无效的OAuth请求“;
我正试图从dropbox oauth获取响应数据,如前所述 现在我不知道为什么它总是说从Dropbox OAuth“获取请求令牌”;无效的OAuth请求“;,oauth,dropbox,dropbox-api,Oauth,Dropbox,Dropbox Api,我正试图从dropbox oauth获取响应数据,如前所述 现在我不知道为什么它总是说{“error”:“无效的OAuth请求”。} 以下是请求令牌的完整代码: -(void)requestTokenSecret { NSString* oauthVersion=@"1"; NSString* oauth_signature_method=@"PLAINTEXT"; NSString* postHeader = [NSString stringWithFormat: @"Aut
{“error”:“无效的OAuth请求”。}
以下是请求令牌的完整代码:
-(void)requestTokenSecret
{
NSString* oauthVersion=@"1";
NSString* oauth_signature_method=@"PLAINTEXT";
NSString* postHeader = [NSString stringWithFormat: @"Authorization: OAuth oauth_version=\"%@\", oauth_signature_method=\"%@\", oauth_consumer_key=\"%@\", oauth_signature=\"%@&\"",oauthVersion,oauth_signature_method,APP_KEY,APP_SECRET];
NSLog(@"URL HEADER: %@",postHeader);
NSData* postHeaderData = [postHeader dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest* request= [[NSMutableURLRequest alloc]init];
[request setURL:[NSURL URLWithString:@"https://api.dropbox.com/1/oauth/request_token"]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d",[postHeaderData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postHeaderData];
NSURLConnection* conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
[conn start];
if(conn)
{
NSLog(@"Connected");
}
else
NSLog(@"Connected");
}
看起来您将“Authorization:OAuth…”放在POST请求的主体中,而不是将“OAuth…”放在
Authorization
头中
请尝试此代码(未测试,抱歉):
另外,我强烈建议使用OAuth 2而不是OAuth 1。这相当简单。后续问题。是否可以跳过用户授权?(第2步[此处])?我只使用1个静态帐户,正如我的问题[这里]中所述。[1] [2]看起来堆栈溢出问题已得到正确回答。你几乎肯定不想这样做,但答案告诉你如果你坚持下去怎么做。方法
[dbSession updateAccessToken:APP\u ACCESS\u TOKEN accessTokenSecret:APP\u SECRET for userid:APP\u USER\u EMAIL]代码>需要访问令牌和访问令牌密钥。当我试图将请求令牌转换为访问令牌时,它会显示“请求令牌未被正确授权”,但我想跳过向用户显示授权页面。(中的步骤2)
NSString* oauthVersion=@"1";
NSString* oauth_signature_method=@"PLAINTEXT";
NSString* authorizationHeader = [NSString stringWithFormat: @"OAuth oauth_version=\"%@\", oauth_signature_method=\"%@\", oauth_consumer_key=\"%@\", oauth_signature=\"%@&\"",oauthVersion,oauth_signature_method,APP_KEY,APP_SECRET];
NSMutableURLRequest* request= [[NSMutableURLRequest alloc]init];
[request setURL:[NSURL URLWithString:@"https://api.dropbox.com/1/oauth/request_token"]];
[request setHTTPMethod:@"POST"];
[request setValue:authorizationHeader forHTTPHeaderField:@"Authorization"];
NSURLConnection* conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
[conn start];