Oauth と twitter api ver1.1 に問題があります。私のアプリは、別のサイトに何かを投稿すると、Twitter に投稿をツイートします。しかし、投稿本文にエクスクラメーション マーク ('!') が含まれていると、'Unauthorized' という 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 に答える