gpt4 book ai didi

json - Three20 和 Facebook Graph API 问题

转载 作者:行者123 更新时间:2023-11-29 05:05:59 24 4
gpt4 key购买 nike

我正在尝试将 Three20 Facebook 示例应用程序与 Facebook Graph API 一起使用(以进行身份​​验证并获取访问 token )。我对 TTURLRequest 使用以下代码:

- (void)load:(TTURLRequestCachePolicy)cachePolicy more:(BOOL)more {
if (!self.isLoading && TTIsStringWithAnyText(_query)) {
NSString* url = _query;
NSLog(@"load:%@:", url);

TTURLRequest* request = [TTURLRequest requestWithURL:url delegate:self];

request.cachePolicy = cachePolicy | TTURLRequestCachePolicyEtag;
request.cacheExpirationAge = TT_CACHE_EXPIRATION_AGE_NEVER;

TTURLJSONResponse* response = [[TTURLJSONResponse alloc] init];
request.response = response;
TT_RELEASE_SAFELY(response);

[request send];
}
}

这对于没有访问 token 的网址(即 https://graph.facebook.com/markzuckerberg/feed )非常有效,但每当我在同一页面上使用访问 token (即 https://graph.facebook.com/markzuckerberg/feed?access_token= ...)时,我都会收到一条错误,描述为“错误的网址”。将任一 URL 复制到 Web 浏览器中显示两者都可以正常工作,但 URL 请求只会为带有 access_token 的 URL 生成错误。

我能想到的唯一可能的解释是 TTURLRequest 对 URL 的长度有限制。有谁知道为什么会发生这种情况和/或有任何解决方法吗?


更新:这是我构建 URL 的方式:

self.accessToken = [_facebook.accessToken stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
self.dataSource = [[[TTFacebookNewsFeedDataSource alloc] initWithQuery:[NSString stringWithFormat:@"http://graph.facebook.com/markzuckerberg/feed?access_token=%@", self.accessToken]] autorelease];

最佳答案

我通过使用 FBRequest serializeURL 修复了此问题:

AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString* url = [FBRequest serializeURL:@"https://graph.facebook.com/me/home" params:[NSMutableDictionary dictionaryWithObject:appDel.facebook.accessToken forKey:@"access_token"]];

关于json - Three20 和 Facebook Graph API 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com