大家好,我正面临着Oauth和twitter api ver1.1的问题。当我向其他网站发布内容时,我的应用会向Twitter发推文。但是当帖子正文中包含感叹号('!')时,我会收到Twitter 401错误,即“未经授权”。我在谷歌搜索,发现它可能与Oauth有关。有人说'!'必须编码为'%21'。我尝试了但是当我推特'!'推特,我只是'%21'而不是'!'本身。任何人都可以给我一些提示我如何编码'!'正确?
答案 0 :(得分:1)
您必须使用此类别对您的推文进行编码
#import "NSString+URLEncoding.h"
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}
- (NSString*)URLDecodedString
{
NSString *result = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
(CFStringRef)self,
CFSTR(""),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}
@end