Bad URL when requesting with NSURL
Asked Answered
B

4

8

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_token=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?

Burner answered 9/6, 2011 at 1:49 Comment(1)
Ah... I just found an answer: #6163153Burner
B
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"];
Barimah answered 24/4, 2012 at 6:40 Comment(1)
hi minu , i was also having trouble regarding bad url , and figured out that encoding is mustBarimah
A
7

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.

Anhinga answered 9/6, 2011 at 1:58 Comment(0)
U
0

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.

Unbowed answered 22/11, 2012 at 20:57 Comment(0)
E
0

This error message, also can be caused by any error in the URL typing. Usually some white space in the URL string.

Ehudd answered 23/10, 2013 at 14:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.