python-3.xxmlpluginspowerschool

PowerSchool Python API Plugin


I am attempting to connect to the PowerSchool SIS API via the Python PowerSchool library.

From the installation instructions here, I am stuck on the part where I need to create an XML file (including Oauth) for uploading as a plugin (via System > System Settings > Plugin Management Dashboard > {Your Plugin}). I am looking for an example showing how to do this in detail. I have tried looking at the information available in PowerSource here but this documentation does not show exactly what to do.

Thanks in advance for any help you can provide.


Solution

  • I think you must log in to the Powerschool system to install the plugin before you can connect to the API.

    The plugin should look something like this...

    <?xml version="1.0" encoding="UTF-8"?>
    <plugin xmlns="http://plugin.powerschool.pearson.com"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation='http://plugin.powerschool.pearson.com plugin.xsd'
            name="(Your Product Name)"
            version="(Your Product Version)"
            description="The plugin for PowerSchool integration with (Your Product Name)">
        <oauth></oauth> 
        <publisher name="(Your Company Name)">
            <contact email="(Your Email Address)" />
        </publisher>
        <access_request>
            <field table="CodeSet" field="description" access="ViewOnly" />
            <field table="CodeSet" field="codetype" access="ViewOnly" />
            <field table="CodeSet" field="codesetid" access="ViewOnly" />
            <field table="CodeSet" field="code" access="ViewOnly" />
    
            <field table="STUDENTS" field="DCID" access="ViewOnly" />
            <field table="STUDENTS" field="ID" access="ViewOnly" />
            <field table="STUDENTS" field="first_name" access="ViewOnly" />
            <field table="STUDENTS" field="last_name" access="ViewOnly" />
            <field table="STUDENTS" field="grade_level" access="ViewOnly" />
    
            <field table="TRANSPORTATION" field="DCID" access="FullAccess" />
            <field table="TRANSPORTATION" field="ID" access="FullAccess" />
            <field table="TRANSPORTATION" field="StudentId" access="FullAccess" />
            <field table="TRANSPORTATION" field="Description" access="FullAccess" />
            
        </access_request>
    </plugin>
    

    There are various places where you need to put your own information, like company name, product name, etc...

    Then, you will need to put the tables and columns you want/need access to in the access_request node. Note, you must specify the type of access you require, such as ViewOnly or FullAccess.

    This is a security measure. The Powerschool administrator for the school you are dealing with can then decide whether to allow the plugin or not. Once the plugin is installed, the Powerschool administrator should tell you the ClientId and the client secret to use for OAuth authentication.