在 Apigee 政策中进行 Base64 编码的最简单方法是什么?我需要对要以编程方式发送的 SMS 的文本进行编码。
我知道我可以明确地包含代码,但我更喜欢使用内置的功能(如果可用)。
最佳答案
实现此目的最有效的方法是创建一个 python script policy ,然后使用 python's built-in base64 模块构建一个简单的函数,该函数对参数进行 base64 编码或解码。
如果您从这里获取示例代理: http://apigee.com/docs/api-services/content/api-proxy-samples 您将在 /simpleProxy/apiproxy/resources/py
中找到一个 python 示例。
策略 XML 是这样的:
<Script name="Script-GenerateAuthHeader">
<ResourceURL>py://Authheader.py</ResourceURL>
</Script>
python 代码如下所示:
import base64
username = flow.getVariable("request.formparam.client_id")
password = flow.getVariable("request.formparam.client_secret")
base64string = base64.encodestring('%s:%s' % (username, password))[:-1]
flow.setVariable("my.base64.blob", base64string)
或者,如果 python 不是你的风格,you could do this in javascript 使用 js 资源,甚至直接在 Node.js proxy 中。
关于apigee - Apigee Edge 政策中的 Base64 编码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21056816/