For Facebook and Flickr, our generated code for creating the signature URL encodes all the values before doing the
computation. This can cause certain methods whose inputs contained characters that need to be encoded.
The workaround for this issue is to modify the generated sign() for the respective service's authenticator.
For example, go to FlickrPhotoServiceAuthenticator.sign() and replace "URLEncoder.encode(value, "UTF-8")" with "value".
Fix checked into trunk.
Note: The fix for this issue needs to be ported to the patch1 release.
Here is how to reproduce the issue for Flickr:
1. DnD the people_getPublicPhotos into a class.
2. Set the userid that's in the form of xxxxx@xxx.
(Note: you can find out your userid by calling people_findByUsername passing your screen name)
3. Run your application and you'll get an invalid signature response without the fix.
1. DnD marketplace_search.
2. For the category, enter a string containing spaces.
3. Run your app and you should get the invalid signature response without the fix.
Basically, in general, if any of the parameters contain characters that will get URL encoded can cause this problem.
QA, please verify this fix till 09-Jun-2008, so it can be part of NB 6.1 patch 2.
The fix has been ported into the release61_fixes repository.
Verified in Patch 2.