Bad URL when requesting with NSURL
I'm trying to request this kind of URL in iPhone 4.0 SDK (access token slightly modified because you don't really need to see it):
https://graph.facebook.com/me?sdk=ios&sdk_version=2&access_toke开发者_JAVA技巧n=123902817987|8cb9e8408d2685cef853cd80.9-747882379|UGu5NvcAHiXuGEGzkq&format=json&limit=40&until=1286619821
But I got this message:
Failed with error: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x9e657a0 {NSUnderlyingError=0x9e656a0 "bad URL", NSLocalizedDescription=bad URL}
When I copied and pasted in Safari or Chrome, it works. I tried replacing |
with %|
as suggested here but doesn't work.
Asking it from the terminal looks like this:
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
Any ideas?
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"];
You need to replace the pipe character in the URL with %7C
. This is the URL encoded value.
Also, the URL needs to be enclosed in quotation marks in order for it to work with curl.
ho ho ho.
Set location_id
using the id of the venue you want.
This make me waste a lot of time.
One of dozen facebook secrets is debug network when making what you want, in this case creating a event. You'll see the correct params names for what you need.
This error message, also can be caused by any error in the URL typing. Usually some white space in the URL string.
精彩评论