1

我正在尝试通过 MGTwitterEngine 获取 Twitter 用户的 sentDirectMessages。但是,我没有收到来自引擎的 MGTwitterEngine 委托方法回调来说明其接收到的数据。

我放了一个 NSLog 来查看是否调用了 connectionFinished 方法,确实是,但没有其他方法,即- (void)directMessagesReceived:(NSArray *)messages forRequest:(NSString *)connectionIdentifier

请你告诉我问题是什么,所有代表都设置为自我。

 [manager.engine getSentDirectMessagesSinceID:0 startingAtPage:0];
4

1 回答 1

1
  1. 对不起,但我会问一个常规问题:你的 .h 文件中有 MGTwitterEngineDelegate 吗?

  2. 我建议投入一些登录requestSucceeded:requestFailed:withError:

  3. 您是否在该项目中成功地进行了任何其他类型的 Twitter 通信?在同一个班级?

编辑

我设置了一个 DM 请求,它与 arequestSucceeded:和 a一起正常工作directMessagesReceived:forRequest:

根据您的:

“所以每次我想获取用户的 dm 时,我都必须让用户注销然后重新登录。”

我想知道这是否不是用户令牌存储不正确的问题?我建议看看成功登录是如何存储令牌的?

特别是这个 MGTwitterEngineDelegate 方法。

- (void)accessTokenReceived:(OAToken *)aToken forRequest:(NSString *)connectionIdentifier
{
    NSLog(@"Access token received! %@",aToken);
    [manager.engine setAccessToken:aToken];

    //I have an OAToken variable called "token" defined in my .h
    token = [aToken retain];

    NSLog(@"storing token in userdefaults");

    //this line is key for maintaining a login token throughout the app
    //even when the user closes the app and comes back
    [token storeInUserDefaultsWithServiceProviderName:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"] prefix:@"twitter"];

    //call your dm or whatever methods for after login here
    .
    .
    .
}

希望这可以帮助。

于 2011-04-30T13:59:11.077 回答