我正在尝试在iPhone 4.0 SDK中请求这种URL(稍微修改了访问令牌,因为你真的不需要看到它):
https://graph.facebook.com/me?sdk=ios&sdk_version=2&access_token=123902817987|8cb9e8408d2685cef853cd80.9-747882379|UGu5NvcAHiXuGEGzkq&format=json&limit=40&until=1286619821
但我收到了这条消息:
Failed with error: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x9e657a0 {NSUnderlyingError=0x9e656a0 "bad URL", NSLocalizedDescription=bad URL}
当我在Safari或Chrome中复制并粘贴时,它可以正常工作。我尝试按照建议here将|
替换为%|
,但不起作用。
从终端询问它是这样的:
curl https://graph.facebook.com/me/statuses?sdk=ios&sdk_version=2&access_token=9999955817987|8ab9e8408d2685cef.3-747882379|UGuxWDuM&format=json&limit=40&until=1286619821
[1] 16190
[2] 16191
[3] 16194
[4] 16195
[5] 16196
[2] Done sdk_version=2
[4]- Done format=json
$ -bash: UGu5NvcAHiXuGEGzkq3KP8xWDuM: command not found
-bash: 8ab9e8408d2685cef853cd80.3-747882379: command not found
{"error":{"type":"OAuthException","message":"An active access token must be used to query information about the current user."}}
[1] Done curl https://graph.facebook.com/me/statuses?sdk=ios
[3]- Exit 127 access_token=9999955817987 | 8ab9e8408d2685cef.3-747882379 | UGuxWDuM
[5]+ Done limit=40
有什么想法吗?
答案 0 :(得分:21)
NSString *strURL = [loc_address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// requesting weather for this location ...
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat: @"http://www.google.com/ig/api?weather=%@", strURL]] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0];
[req setHTTPMethod:@"POST"];
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
答案 1 :(得分:7)
您需要使用%7C
替换网址中的竖线字符。这是URL编码值。
此外,URL必须用引号括起来才能使用curl。
答案 2 :(得分:0)
使用您想要的地点ID设置location_id
。
这让我浪费了很多时间。
在制作你想要的东西时,有十几个facebook秘密就是调试网络,在这种情况下创建一个事件。您将看到正确的参数名称,以满足您的需求。
答案 3 :(得分:0)
此错误消息也可能是由URL输入中的任何错误引起的。通常在URL字符串中有一些空格。