我有一个用 Coldfusion 8 编写的 Instagram 应用程序,它基本上通过标签提取媒体,然后允许人们对照片点赞/投票,这一切都是通过 Instagram API 完成的。不过,Liking 部分让我悲痛欲绝,因为我可以在没有戏剧性的情况下获得 Authentication 和 Access_Token,但是 Access_Token 默认情况下似乎没有 Like 的权限。Authenticate 调用“范围”有一个可选参数,它允许您传递 Access_Token 允许的权限,但我不知道如何通过 ColdFusion CFHTTP 将其作为 POST 传递。
这是通过 CFHTTP 以 type="FormField" 形式循环所有参数的数据的准备工作。无论我如何尝试并呈现范围选项,无论是 JSON 格式、带空格的字符串、带“+”分隔符的字符串,它似乎都没有效果,并且由于权限错误,Like 操作继续失败。
<cfscript>
var LOCAL = {};
LOCAL['config'] = {};
LOCAL['returnStruct'] = {};
// prep packet required by the main call method
// the following values are required for EVERY call
LOCAL['config']['method'] = 'POST';
LOCAL['config']['format'] = ARGUMENTS['outputType'];
LOCAL['config']['url'] = VARIABLES.authURL;
// variables required by this method
LOCAL['config']['params'] = {};
LOCAL['config']['params']['client_secret'] = ARGUMENTS.client_secret;
LOCAL['config']['params']['grant_type'] = 'authorization_code';
LOCAL['config']['params']['redirect_uri'] = ARGUMENTS.redirect_uri;
LOCAL['config']['params']['code'] = ARGUMENTS.code;
LOCAL['config']['params']['scope'] = 'likes comments relationships';
</cfscript>