DomoR connector error : Not Acceptable (HTTP 406)

Hi,

 

I was trying to use DomoR package directly to download a dataset onto R. I used below codeset -

 

> library(DomoR)
Welcome to DomoR
> DomoR::init('XXXXX', 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiUHJpdmlsZWdlZCIsInNjb3BlIjpbImFjY291bnQiLCJhdWRpdCIsImJ1enoiLCJkYXNoYm9hcmQiLCJkYXRhIiwidXNlciIsIndvcmtmbG93Il0sImRvbWFpbiI6Im9hbmRhLmRvbW8uY29tIiwiZXhwIjoxNTU5ODI0Mjg4LCJlbnYiOiJwcm9kMSIsInVzZXJJZCI6Mzk5MDQ5NTg1LCJqdGkiOiJmOTI5NzEwMS02ODkxLTQyMTAtYmUzOC0zY2Y1MmQ2ZTFiZTAiLCJjbGllbnRfaWQiOiIzNjUyODI5ZC01MWZmLTRkMDctOWNkNi00NTNjN2Y3ODFjNWYiLCJjdXN0b21lciI6Im9hbmRhIn0.1pbo7YgQJ3Bw1_GV5UGDfC7eKKchRng8NfibiELOgDs3jw5Lc-ThLbphbPWkSdLkrErWqeT0HdDO_Vf7pxSTnZUKKLO2eK_xa8Xn8OQ4fAEYG2KK4Tj2nzCmDWudDfbaRm6wM1eN2Mv7tWGWNHhECuPj02uD1j3_lgZXGVZNPK_0JPYHv-Axrj0LaPVEkUhwF0u0vSwwfgcrQU3M7l7rhobV0wNu0psmQP9e9KgdTirFsWZ2iZ_zAM9PfuRpAj28ZXHEiH0SPH0k6Dqf4pLGvEcc_sNlI4kZyivSlmYRwJf8NZTR6KIDen4BXYmmHd2PByQ1axor4g6cHF94ezt0Kw')
> DomoR::fetch('50201666-415b-4972-a306-8d4e5a7fb30f')
Error in DomoR::fetch("50201666-415b-4972-a306-8d4e5a7fb30f") :
Not Acceptable (HTTP 406).

As you see, I failed to fetch the dataset with 406 error.

 

Can you please shed light on why I failed. I checked the entries for init() but doesnt look like I have given wrong credentials.

Best Answers

  • guitarhero23
    guitarhero23 Contributor
    Answer ✓

    Hi, I'd recommend deleting the pictures and the Authorization: Basic thing you have in there MzY1MjgyOWQtNTF..... and perhaps obscuring at least part of the credentials.

     

    It would allow anyone to make API requests under that cliendID+secret. Perhaps someone that uses the R plugin can give additional ways to authenticate but according to the github readme it appears to be looking for not the same token as you're getting but rather an API token that has to be generated inside of Domo itself. It would not show up if you are not a Domo admin, you'd have to request it from whoever that might be. And based on the decoded base64 string you posted before it appears you are not admin.

     

    This is what an admin would see

    dojo-help-4.jpg



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • guitarhero23
    guitarhero23 Contributor
    Answer ✓

    That would make sense. Only those of role "Admin" has access to the security tab and is the only one that can generate access tokens. I'd recommend talking to whoever has the admin role and requesting a token from them



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**

Answers

  • guitarhero23
    guitarhero23 Contributor

    for DomoR::init() it's expecting ('Domo_base_url', 'Developer Token')

     

    When using the DomoR package, the first thing you'll need to do is to initialize the development environment with your Domo customer instance (i.e. CUSTOMER.domo.com for https://CUSTOMER.domo.com) and your API access token. To generate an API access token, log in to your Domo instance as an admin and go to Admin > Security > Access Tokens

    Once you have your token generated from the Domo Admin screen, initialize your development environment with:

    DomoR::init('customer', 'token')

     

     

    have you generated an access token? Is that what you put in? What you have looks like base64 of more than just the token as I'm assuming you changed some of that base64 string (hopefully) because to me from what is readable it appears to be the response back from Domo when you make a request for a token which includes the clientId, scope, domain, etc, + the token. 



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • You reply below doesnt look to be any meaningful to me as I dont see anything from your statement in my Domo screen.

     

    You said - log in to your Domo instance as an admin and go to Admin > Security > Access Tokens

    I dont see anything called Security when I log in. Attached is the snapshot.

     

    However I followed the instruction from https://developer.domo.com/docs/authentication/quickstart-5 to generate Access token.

     

    In the 2nd attachment (Domo1), you can see the Credentials for a client name R which I defined. Using those credentials and following above link I get access token as below.

     

    Is it that you are saying that token generation with this approach is not correct?

     

     

  • guitarhero23
    guitarhero23 Contributor
    Answer ✓

    Hi, I'd recommend deleting the pictures and the Authorization: Basic thing you have in there MzY1MjgyOWQtNTF..... and perhaps obscuring at least part of the credentials.

     

    It would allow anyone to make API requests under that cliendID+secret. Perhaps someone that uses the R plugin can give additional ways to authenticate but according to the github readme it appears to be looking for not the same token as you're getting but rather an API token that has to be generated inside of Domo itself. It would not show up if you are not a Domo admin, you'd have to request it from whoever that might be. And based on the decoded base64 string you posted before it appears you are not admin.

     

    This is what an admin would see

    dojo-help-4.jpg



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • @guitarhero23  thanks for alerting me to this post.

     

    @user05966 I went ahead and edited your post and removed all confidential information in the post and the attached image. The information posted is highly sensitive to your account and should not be in a public forum. Can you connect with your Domo Instance admin?

     

    Please take a moment to refresh yourself on the Dojo rules of participation here.

     

    Thanks!

  • @DaniBoy

     

    Thanks for alerting me about the sensitivity. But I already deleted those credentials of my Client even before posting it here - So I think risk is nonexistant.

     

    However coming back to my problem, I can access to Admin page but still dont see any section called Security

  • guitarhero23
    guitarhero23 Contributor

    What role does your user account have within the organzation? I believe all or certain non admin roles can see the admin page but certain options won't show up. Admins should by default though see the Security tab.



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • Looks like I have all roles available for Admin. Attached is the snapshot

  • guitarhero23
    guitarhero23 Contributor

    I believe you're just looking at all the available roles in Domo and what permissions they have, not necessarily what role you have assigned to you. Can you go to the People tab and click on your name and see what it says for your role?



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • I have below -

    Role Privileged

  • guitarhero23
    guitarhero23 Contributor
    Answer ✓

    That would make sense. Only those of role "Admin" has access to the security tab and is the only one that can generate access tokens. I'd recommend talking to whoever has the admin role and requesting a token from them



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • Thanks @guitarhero23 for the guidance.

     

    @user05966 the API credentials were posted and those are highly sensitive. Simply looking to protect the data privacy and security of our customers.

     

    Again please find out who the Major Domo or admin at the account so they can provide you the appropriate permissions here.

     

    Regards,

  • Thanks. I got the Token as I can download file. Kindly consider this as closed.

  • guitarhero23
    guitarhero23 Contributor

    You can close it by marking whichever answer was the solution as the solution.



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**