【问题标题】:iOS - OAuth Twitter enginer - Failing to create tokensiOS - OAuth Twitter 工程师 - 无法创建令牌
【发布时间】:2012-01-29 09:31:35
【问题描述】:

在我的应用程序中,我正在尝试将发布消息集成到 twitter。 (我在我的推特应用程序中生成了消费者密钥和消费者秘密。
我正在使用以下代码。

#pragma mark SA_OAuthTwitterEngineDelegate
- (void) storeCachedTwitterOAuthData: (NSString *) data forUsername: (NSString *) username {
    NSUserDefaults          *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject: data forKey: @"authData"];
    [defaults synchronize];
}

- (NSString *) cachedTwitterOAuthDataForUsername: (NSString *) username {
    return [[NSUserDefaults standardUserDefaults] objectForKey: @"authData"];
}

- (void) twitterOAuthConnectionFailedWithData: (NSData *) data
{
    NSLog(@"Failed");
}
//=============================================================================================================================
#pragma mark SA_OAuthTwitterControllerDelegate
- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {
    NSLog(@"Authenicated for %@", username);
}

- (void) OAuthTwitterControllerFailed: (SA_OAuthTwitterController *) controller {
    NSLog(@"Authentication Failed!");
}

- (void) OAuthTwitterControllerCanceled: (SA_OAuthTwitterController *) controller {
    NSLog(@"Authentication Canceled.");
}

授权成功,但是下面的委托方法正在打印空用户名。

- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username

以下是我得到的回复:

2011-12-29 00:01:57.965 OAuthTwitterDemo[4656:207] Failed
2011-12-29 00:01:57.966 OAuthTwitterDemo[4656:207] Authenicated for (null)

有人可以建议我的代码有什么错误吗?

【问题讨论】:

    标签: ios twitter oauth mgtwitterengine


    【解决方案1】:

    尝试在此函数中将http替换为https

    - (SA_OAuthTwitterEngine *) initOAuthWithDelegate: (NSObject *) delegate {
    if (self = (id) [super initWithDelegate: delegate]) {
            self.requestTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/request_token"];
            self.accessTokenURL = [NSURL URLWithString: @"https://twitter.com/oauth/access_token"];
            self.authorizeURL = [NSURL URLWithString: @"https://twitter.com/oauth/authorize"];
        }
    return self;
    }
    

    【讨论】:

    【解决方案2】:

    问题不在于请求、授权等的 URL。Twitter 或 iOS 本身发生了变化,这导致了问题。对于 iOS 4,twitter 引擎没有任何变化,它的工作完美。但是在 iOS5 上,我们必须使用 twitter 框架。这解决了我的问题。

    【讨论】:

      【解决方案3】:

      是的..!它适用于我:),带有 http 的网址在 ios ios 4.* 中可以正常工作,但您必须替换为 https 才能使用 ios 5.1 版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-23
        • 2012-12-21
        相关资源
        最近更新 更多