Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article shows an example of an API connection in Python. We provide additional and more in-depth information on https://mopinion-python-api.readthedocs.io/en/latest/.

Code

In the below code replace the following with your own credentials.

public_key = '8e8e8e8e8e88e'
token = '9d9galnojvavlkre455%lreagfglkfgslkng'

Code Block
breakoutModewide
languagepy
import requests
import base64
import hmac, hashlib
import simplejson as json
import pprint

pp = pprint.PrettyPrinter(indent=1)

def callAPI(base_url, public_key, token, endpoint='/account', method='GET', body='', query=''):
    
    
    
    signature_token = bytes(token.encode('utf-8'))
    uri_and_body = '{}|{}'.format(endpoint,body).encode('utf-8')
    uri_and_body_hmac_sha256 = hmac.new(signature_token, msg=uri_and_body, digestmod = hashlib.sha256).hexdigest()
    
    xtoken = base64.b64encode(bytes('{}:{}'.format(public_key, uri_and_body_hmac_sha256), 'utf-8'))
    url = '{}{}{}'.format(base_url, endpoint, query)
    headers = {
        'X-Auth-Token': xtoken,
        'version':'1.18.14',
        'verbosity':'full'
    }
    
    response = requests.request(method, url, data=body, headers=headers, params=query)
    return response, xtoken


baseurl = 'https://api.mopinion.com'
endpoint = '/account'

#public key and signature token
public_key = '8e8e8e8e8e88e'
token = '9d9galnojvavlkre455%lreagfglkfgslkng'
query = ''
call = callAPI(baseurl,public_key,token,endpoint,query=query)
pp.pprint(call[0].json())
print(call[1])

 


Easy html macro
theme{"label":"solarized_dark","value":"solarized_dark"}
contentByMode{"html":"<div id=\"surveyContent\"></div>","javascript":"var confluenceData = {};\nvar pageId;\nvar pageTitle;\n\ntry {\n confluenceData = JSON.parse(parent.window.name);\n var pageId = confluenceData.options.productContext['page.id'];\n var pageTitle = confluenceData.options.productContext['page.title'];\n} catch(e) {}\n\nvar src = 'https://collect.mopinion.com/assets/surveys/2.0/js/survey.min.js';\n\nvar vars = {\n key:'211a4fdb96626776846147095cc335b448e20458', \n domain:'app.mopinion.com', \n divName:'surveyContent', \n button:false, \n use_collect:false, \n useQuerySelectorAll:false\n};\n\nvar s = document.createElement('script');\ns.async = 'async';\ns.id = 'mopinionFeedbackScript';\ns.src = src;\ns.onload = s.onreadystatechange = function() {\n if (!s.readyState || s.readyState === 'loaded' || s.readyState === 'complete') {\n try {\n srv.loadSurvey(vars);\n } catch (e) {}\n }\n}\ndocument.head.appendChild(s);","css":""}

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@957
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel = "api" and type = "page" and space = "KB"
labelsAPI
Page Properties
hiddentrue

Related issues