我使用 TMTumblrSDK :
NSDictionary *params = @{
@"id" : 999999999999,
@"reblog_key": @"XXXXXX",
@"comment" : @"test comment",
};
[[TMAPIClient sharedInstance] reblogPost:@"test.tumblr.com"
parameters:params
callback:^(id response, NSError *error) {
...
response:
{
meta = {
msg = "Not Authorized";
status = 401;
};
response = (
);
}
OAuthConsumerKey、OAuthConsumerSecret、OAuthToken、OAuthTokenSecret 设置正确。 方法“user/follow”“user/like”和“user/unlike”工作正常。
关于android版本的类似问题:Getting 401 (Not Authorized), when calling Tumblr post reblog api 也无人回答
最佳答案
我解决了我的问题。 在“reblogPost”值中需要传输登录用户的博客 url,而不是我们想要重新登录的博客 url。 例如,如果我们要转发“test”用户的帖子,我们一定不能通过“test.tumblr.com”。我们必须通过“loggedUser.tumblr.com”。
可以通过userInfo方法获取。 例如:
NSString* baseHostname;
[[TMAPIClient sharedInstance] userInfo: ^(id result, NSError* error) {
NSString * baseHostname = [result[@"user"][@"blogs"][0][@"url"] // first blog
stringByReplacingOccurrencesOfString:@"http:" withString:@""];
baseHostname = [baseHostname stringByReplacingOccurrencesOfString:@"/" withString:@""];
[[TMAPIClient sharedInstance] reblogPost: baseHostname // @"loggedUser.tumblr.com"
parameters: params
callback: ^(id response, NSError * error) {
...
}];
}];
关于ios - Tumblr 转发 (TMTumblrSDK) 返回 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231933/