我对 Oauth 和 twitter api ver1.1 有疑问。当向另一个网站发布内容时,我的应用程序会在 Twitter 上发布一条帖子。但是,当帖子正文包含感叹号(“!”)时,我收到 twitter 401 错误,即“未经授权”。我在google上搜索,发现它可能与Oauth有关。有人说“!” 必须编码为“%21”。我试过了,但是当我发推文时“!” 在 twitter 上,我只得到了 '%21' 但没有得到 '!' 本身。我怎样才能编码'!' 正确吗?
问问题
288 次
1 回答
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
于 2013-07-01T11:42:56.787 回答