liqlAdmin in khoros aurora graphql API
Hi Folks, I want to add roles to the users using graphQL API given below. const ADD_USER_ROLE_MUTATION = gql` mutation addUsersToRole($roleKey: RoleKeyInput!, $users: [UserIdInput!]!) { addUsersToRole(roleKey: $roleKey, users: $users) { result { id name } } } `; const [addUserRole] = useMutation(ADD_USER_ROLE_MUTATION); addUserRole({ variables: { roleKey: { roleName: "role" }, users: [{ id: userId }] } }); The issue I am facing is that when this mutation is executed by an Admin user, the role is successfully added to the target user. However, when the same mutation is executed by a normal user, it fails to add the role due to permission denied errors. Is there a parameter or keyword that can be used in this mutation to allow a normal user to update their own roles or self-related data? For example, in Khoros Classic, we can use the liqlAdmin keyword in REST API requests to bypass such permissions. Is there an equivalent for GraphQL in Khoros Aurora? Thanks in Advance.Solved111Views0likes10CommentsBroadcast private message with API not being sent to all users
Hi Everyone, Seeing something a little strange that I can't figure out. Working on a custom component that sends a broadcast message to all the voters on an idea. Testing on stage I see only around half of the messages are sent no matter how many I send (sometimes over sometimes under). So, for example, a message that was supposed to have 200 recipients might only send to 120. You can see below there were 201 voters in this case. The large console log that says bodyString is the body of my API call and I copied it and double checked. All 201 users were present in the body. But the response from the call shows only 122 recipients. And it is not a consistent limit. If I send to 800 users, it goes to 339. However, if I send to 800 users from the out of the box private message page all 800 go through. I am only able to test this on stage with large numbers so I'm not sure if it could just be an issue on stage. I don't want to spam hundreds of real users to test on production 😀 Has anyone else got any experience with this? Thanks46Views2likes1CommentAPI Auth in Postman
Hi, Im a bit of a newbie here and would love some help. I am trying to complete Auth in Postman and returning 400 bad request/Invalid request or page not found when trying to obtain the code. Error: getaddrinfo ENOTFOUND {{base_community_url}} The URL is just the Community domain which is the same an the redirect URI. {{URL}}/api/2.0/auth/authorize?li_client_id={{Encoded client ID}}&redirect_uri={{Redirect URI not encoded}}&response_type=code or {{URL}}/api/2.0/auth/authorize?li_client_id={{Encoded client ID}}&redirect_uri={{Redirect URI not encoded}}&response_type=code&jwt={{SSO Toekn}} Thanks Hannah23Views0likes0CommentsError with Oauth 2.0 Client Credentials workflow
I'm trying to authenticate an api call in a typescript app using the oauth 2.0 client credentials workflow and I'm running into issues, I believe, with generating the CC Hash for this. This is for Community Classic. I have verified that I have the correct client id, client secret and shared secret key and that they're being pulled in correctly in my code. Not sure what I'm missing, but this is the error I see when I try to authenticate: {"error":"Authorization or API call failed","details":"Failed to obtain access token. Status: 403. Response: {\"status\":\"error\",\"message\":\"cc_hash is invalid.\",\"data\":{\"type\":\"error_data\",\"code\":214,\"developer_message\":\"The decryption failed. ccHash is Invalid\",\"more_info\":\"\"},\"metadata\":{}}"} Here's the relevant part of my Typescript code that's generating the CC Hash. Not sure if something is formatted incorrectly or what's not being generated correctly or causing it to return an invalid cc hash function generateCCHash(clientId: string, clientSecret: string, sharedSecretKey: string): string { try { const epochTimeMinute = getEpochTimeMinute(); const nonce = generateNonce(); const strToHash = `${clientId}:${clientSecret}:${nonce}:${epochTimeMinute}`; console.log("String to hash:", strToHash); const hash = crypto.createHash('sha512'); hash.update(strToHash, 'utf8'); hash.update(sharedSecretKey, 'utf8'); const hashResult = hash.digest('hex'); console.log("Generated hash (cc_hash):", hashResult); return hashResult; } catch (error) { console.error("Error generating CC-Hash:", error); throw error; } }37Views0likes2CommentsIncremental data for users data
I am trying to bring USERS data incrementally though GraphQL API. The only relevant date time filter/constraints we can use is registration date, but the problem is that if a user profile is updated, we won't be getting that in incremental data based on registration date. Can someone please help me with this ? Is there some other datetime filter or constraints we should use to get this data incrementally ? Here is my current USERS GraphQL query for reference: query MyQuery { users( last: 1000 constraints: {registrationTime: {gte: "2024-01-01T00:00:00.000+00:00", lte: "2024-10-01T00:00:00.000+00:00"}} ) { edges { node { id title firstName lastName email viewHref } } } } } Thanks, Aishwarya52Views0likes0CommentsUnable to retrieve users using v2 API
Unable to retrieve users from /api/2.0/search?q=SELECT * FROM users endpoint though it's returning 200 response. What could be the reason? Here is the response: { "status": "success", "message": "", "http_code": 200, "data": { "type": "users", "list_item_type": "user", "size": 0, "items": [] }, "metadata": {} }61Views0likes0CommentsDelete a bookmark subscription
Hi, I'm working on a customisation within one of our TKBs where we want to make bookmark functionality more visible. I'm creating a button to bookmark and another to remove the bookmark. My bookmark button is working as intended, but I'm having difficulty removing/deleting the bookmark. $("#remove-bookmark").on( "click", function() { $.ajax({ type: "DELETE", url: "/api/2.0/users/${userID}/badges/${bookmarkID}", contentType: "application/json", dataType: "json", }).done(function(jqXHR, textStatus) { console.log('Success' + textStatus) }).fail(function(jqXHR, textStatus) { console.log('Fail: ' + textStatus); }); }); I'm using the URL /api/2.0/users/user-id/badges/subscription-id based on documentation. Am I right in substituting user-id and subscription-id for the respective values? In my specific test case, the URL being called is /api/2.0/users/67/badges/3829. Here's the server response: { "status": "error", "message": "An unexpected error occurred.", "data": { "type": "error_data", "code": 301, "developer_message": "", "more_info": "" }, "metadata": {} } Any help appreciated.45Views0likes1CommentNot able to access V1 API's form reference index.
Not able to access V1 API's form reference index. https://developer.khoros.com/khoroscommunitydevdocs/reference/community-api-1-object-index https://devdocportal.khoros.com/t5/Community-API-v1-Reference/bd-p/restv1docs?section=commv1&branch=Album31Views1like0CommentsCan someone walk me through authenticating and using Postman with Aurora?
I'm a bit of a newbie when it comes to GraphQL and Postman and I'm struggling to work through the dev docs when it comes to authenticating and setting up the basics in Postman for testing in API calls in Aurora. We're looking ahead to migration and want to start getting familiar with basic API calls. Has anyone successfully got Postman and Aurora working? Is anyone willing to walk me through the bare minimum basics of getting this set up to authenticate into our Aurora instance and run a basic GraphQL call? I'm finding the dev docs pretty lacking currently so I'm turning to the expertise of the developer community here hoping someone has already figured this out. Or, if Khoros is reading this, can we have another Developer Webinar where we can walk through this? Or is this something you can offer through training or update the docs with more details? We've reached out to our CSM to see if we can get some 1:1 training but so far it doesn't look like that's an option right now.Solved133Views0likes4Comments