Tumblr 转发(TMTumblrSDK)返回 401 错误

问题描述 投票:0回答:1

我使用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 版本的类似问题:调用 Tumblr 帖子转发 api 时获取 401(未授权) 也没有得到答复。

ios authentication oauth tumblr
1个回答
2
投票

我解决了我的问题。 在“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) {
        ...
     }];

}];
© www.soinside.com 2019 - 2024. All rights reserved.