![](/img/trans.png)
[英]Connecting to Twitter using xAuth on iPhone and/or OAuth on Web?
[英]xauth twitter on iphone app
我将使用xAuth将数据发布到我的Twitter帐户上,我有点受签名,标头的限制。
我有以下代码:
// Build url
NSString *url = [NSString stringWithFormat:@"https://api.twitter.com/oauth/access_token?x_auth_username=%@&x_auth_password=%@&x_auth_mode=client_auth",
x_auth_username,
x_auth_password];
// Signature
NSString *oauth_nonce = @"";
NSString *oauth_signature_method = @"HMAC-SHA1";
NSString *oauth_timestamp = [NSString stringWithFormat:@"%0.0f", [[NSDate date] timeIntervalSince1970]];
NSString *oauth_version = @"1.0";
NSString *x_auth_mode = @"client_auth";
NSString *sig = [NSString stringWithFormat:@"https://api.twitter.com/oauth/access_token&oauth_consumer_key=%@&oauth_nonce=%@&oauth_signature_method=%@&oauth_timestamp=%@&oauth_version=%@&x_auth_mode=client_auth&x_auth_password=%@&x_auth_username=%@",
oauth_consumer_key,
oauth_nonce,
oauth_signature_method,
oauth_timestamp,
oauth_version,
x_auth_mode,
x_auth_password,
x_auth_username];
// Encode signature
NSString *encodedSig = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)sig,NULL,(CFStringRef)@"/:+,=&",kCFStringEncodingUTF8 );
NSLog(@"encoded signature:%@",encodedSig);
/*
NSData *dSecret = [secret dataUsingEncoding:NSUTF8StringEncoding];
NSData *dBase = [base dataUsingEncoding:NSUTF8StringEncoding];
uint8_t result[CC_SHA1_DIGEST_LENGTH];
CCHmacContext hmacCtx;
memset(&hmacCtx, 0, sizeof(hmacCtx));
CCHmacInit(&hmacCtx, kCCHmacAlgSHA1, dSecret.bytes, dSecret.length);
CCHmacUpdate(&hmacCtx, dBase.bytes, dBase.length);
CCHmacFinal(&hmacCtx, result);
*/
// Headers
NSString *header = [NSString stringWithFormat:@"OAuth oauth_nonce=\"%@\", oauth_signature_method=\"%@\", oauth_timestamp=\"%@\", oauth_consumer_key=\"%@\", oauth_signature=\"%@\", oauth_version=\"%@\"",
oauth_nonce,
oauth_signature_method,
oauth_timestamp,
oauth_consumer_key,
oauth_signature,
oauth_version];
// Perform HTTP request
[Helpers httpPostWithString:encodedUrl];
我真的不知道如何:-对签名进行编码-将签名和标头附加到请求
能否请你帮忙 ?
非常感谢,
吕克
为什么要重新发明轮子? 有很多现有的XAuth和OAuth库供您使用。 连结文字
这是Eric Johnson的一个简单库twitter-xauth
在http://bitbucket.org/brentsimmons/rstwittercallgetxauthaccesstoken/src上有一些有效的Twitter xAuth示例代码。
就像在该页面上说的那样:
事实证明,OAuth / xAuth的东西并不难-您只需要正确了解细节即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.