"The client ID is missing or invalid" in OAuth request - smartsheet-api

I'm trying to set up OAuth2 flow between my application and Smartsheet, using the instructions at http://smartsheet-platform.github.io/api-docs/?shell#oauth-flow.
It seems as if the client_id parameter is being lost when the user submits Smartsheet's authorization dialog. Here's what I'm seeing:
My web page displays a link to https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS
(From here on, I will be omitting the protocol and domain from URLs, as I have posted little enough to Stack Overflow that I am unable to include more than two links in a question!)
I click that link, and wind up on /b/authorize?formName=fn_authorize&formAction=fa_loadAuthorize&response_type=code&client_id=[my_client_id]&scope=READ_SHEETS+WRITE_SHEETS+SHARE_SHEETS . The dialog shows the logo and name of my web site, so I know that the client_id is correct.
Then I click "Allow" and see the message "The client ID is missing or invalid" at /b/authorize?formName=fn_authorize&formAction=fa_loadAuthorize&redirect_uri=[my redirect uri]
I've gone over the instructions a couple of times to make sure the URI I'm generating is valid, and have tried it with and without the redirect_uri parameter.
What might I be doing wrong?

I'm unable to reproduce the issue you've described, even using the oAuth URL copied exactly from your post/question. Here's a recap of my test scenario:
Created new "App" (via Developer Tools in the Smartsheet UI) to generate a client id and app secret.
Redirected user to: https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS
User clicks Allow.
User is successfully redirected to the redirect URL that's specified in my App config settings.
So, Smartsheet oAuth appears to be functioning successfully. Which would seem to suggest that perhaps it's something specific to your App config settings that's causing your issue. A couple of suggestions for troubleshooting:
Try editing your App config settings to (temporarily) replace the value of App redirect URL with something simple like: http://www.google.com -- then test oAuth flow again. If it works with the new redirect URL, that'd suggest an issue with Smartsheet not being able to redirect to your original redirect URL (and the "client id is missing or invalid" error message is not really an accurate message).
If changing the redirect URL doesn't resolve the error -- perhaps try creating a new App altogether (via Developer Tools in the Smartsheet UI), and attempt the same oAuth flow using that new App's client id. If for some reason there's something corrupt about the App that's giving you the error now, then it's possible that starting over with a new App altogether will resolve your issue.

Related

Need to configure redirect_URI on SoundCloud

I am now getting an unauthorized message with my PHP SoundCloud App like that is described in:
Soundcloud API authentication always throws "401 - Unauthorized"
After much reading, I understand that what my App needs is an authorization code. To get one of those, I need a redirect_url configured in the App settings on SoundCloud. I don't have one.
My question is: where do I go and to whom do I ask to do this? It is not possible to do from the Web UI.
Thanks
So I managed to find out how to get my redirect_uri changed.
I was directed to this link: https://github.com/soundcloud/api#how-can-i-update-my-apps-redirect_uri.
There is a heading there: How can I update my app's redirect_uri.
Click the link there. This will take you to a SoundCloud Support Chat box. In that chatbox, you can put your question, your client id, email and redirect_uri. The answer should come in an email.
Happy Appy'ing

Facebook Login - URL Blocked - Can't add new redirect URI's

I have a website that uses the Facebook Login feature successfully and it still works as we speak. But I want to use the same facebook app on another website using the same keys etc...
But for some reason, even though I have added the correct URI's into the OAuth part of the Facebook page, I still get:
URL blocked: This redirect failed because the redirect URI is not
white-listed in the app's client OAuth settings. Make sure that the
client and web OAuth logins are on and add all your app domains as
valid OAuth redirect URIs.
Does anyone have any ideas on where I can start to find out why Facebook isn't accepting these new urls?
Okay, it seems to be working now - perhaps was a timing issue which was wierd because it updated straight away on previous sites.
Thanks again for the help though WizKid!

Create website with facebook login for 0fees.net

Today I was trying to add Facebook features to my site. It's hosted on 0fees.net.
On 0fees.net, I uploaded index.html to my web host, for example mysite.0fees.net. This works, and the page opens fine when I access the URL.
Then, on Facebook, I created my Facebook application, and set the 'Website with Facebook Login' setting as http://mysite.0fees.net/, pressed Save Changes. But I got the error message,
Error Site URL is not a valid URL.
When I try set another URL (for example mysite.1fees.net) the application saved fine.
I do not want to change provider, so how can I set mysite.0fees.net?
When trying to post the link http://0fees.net/ on Facebook, you’ll see a message that you can not do so because the domain is blocked for being spammy. So you’ll have to use another domain, I’m afraid. (That’s the problem with cheap webhosting where you’ll only get a subdomain – let one user do something stupid under that main domain, and all other’s using it will get punished as well.)

Facebook Application

I'm having a problem with my Facebook application, I got an error like this.
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
What are the best solutions for this error?
I assume you have the Website option active in your app settings.
Did you fill the site url there?
Thing is, if you own the site.com domain and specify it for your app, you will not be able to use a redirect url to othersite.com after login, or even domain.site.com. I think you need to specify if you are going to use subdomains.
Anyway, what sort of app are you trying to build? Is it a Canvas App? Does this error appear when you try to ask for permissions or login the user? In this case, just fill out the Site URL in your app settings page

No details for authentication in Authlogic & Facebook Connect

After following the guide to add Facebook Connect to an Authlogic-enabled Rails app (see http://github.com/kalasjocke/authlogic_facebook_connect), I get the following error when I click on the Facebook's "Connect" button:
You did not provide any details for authentication.
It seems that UserSession.create(params[:user_session]) is trying to authenticate with the standard user and password, but the only params available are the authenticity token.
What additional configuration am I missing?
UPDATE: I've made some discoveries. First, the cookie is named fbsetting_{api_key}, instead of fbs_{api_key} (which is what Facebooker expects), for some reason related to API version. Also, the contents of the cookie don't seem to be what Facebooker expects. I don't know if there's a way to select a specific Facebook API version to prevent this from happening.
Having similar issues here. Lots of the options on http://facebooker.pjkh.com/fb-init-options/app_settings_demo_ifuser work nicely for me, but authlogic facebooker out of the box does not work.
UPDATE: It was my app settings on facebook itself, meant authentication was never being setn back to my site... removing site domain sorted it.