我试图通过MGTwitterEngine获取twitter用户的sentDirectMessages。但是,我没有收到来自引擎的MGTwitterEngine委托方法回调来说明其收到的数据。
我放了一个NSLog来查看是否正在调用connectionFinished方法,它是,但没有其他方法,即- (void)directMessagesReceived:(NSArray *)messages forRequest:(NSString *)connectionIdentifier
请告诉我问题是什么,所有代表都是自己的。
[manager.engine getSentDirectMessagesSinceID:0 startingAtPage:0];
答案 0 :(得分:1)
Sry,但我会问常规问题:你的.h文件中有MGTwitterEngineDelegate吗?
我建议在requestSucceeded:
和requestFailed:withError:
您是否在该项目中成功进行了任何其他类型的Twitter通信?在同一个班级内?
修改强>
我设置了DM请求,它与requestSucceeded:
和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
.
.
.
}
希望这有帮助。