<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_oa_policy(doi):
 """ Get OA policy for a given DOI. .. note:: Uses beta.dissem.in API. :param doi: A canonical DOI. :returns: The OpenAccess policy for the associated publications, or \ ``None`` if unknown. ('can', 'can', 'can', '1896') True """

    try:
        request = requests.get("%s%s" % (DISSEMIN_API, doi))
        request.raise_for_status()
        result = request.json()
        assert result["status"] == "ok"
        return ([i
                 for i in result["paper"]["publications"]
                 if i["doi"] == doi][0])["policy"]
    except (AssertionError, ValueError,
            KeyError, RequestException, IndexError):
        return None