为了向instagram api发出请求。我需要一个访问令牌。
这里记录了哪些内容。 http://instagram.com/developer/authentication/
这些访问令牌可以更改,因此我需要通过api查找以获取“代码”,然后获取访问令牌。我在网上看到的大多数示例都会将用户提示给Instagram,然后调用回调网址,然后关闭,然后生成access_token。
我如何通过api(而不是登录instlagram)获得初始“代码”/
我希望这样的事情。
var accessUrl = string.Format(
"https://instagram.com/oauth/authorize/?client_id={0}&redirect_uri={1}&response_type=code",
instagramClientId, redirectUrl);
WebRequest request = WebRequest.Create(accessUrl);
WebResponse response = request.GetResponse();
要清楚我不是在问如何获取access_token但是如何获取“代码”而不是在不登录instagram的情况下生成access_token
答案 0 :(得分:1)
code
附加为Instagram发送给您的回调网址的GET
请求中的网址查询字符串。
例如,如果您的回调网址为:
http://www.mycallbackurl.com/callback
Instagram(收到您的access_token请求后)会发送GET
来电:
http://mycallbackurl.com/callback?code=20938409823kjl2k3j4o998as0df809s80980234809
(它是base64编码的)。
然后,您需要在回调服务器上捕获该url参数并在页面上回显(没有其他内容,只有code
参数的值),从而产生如下内容:
<html>
<body>20938409823kjl2k3j4o998as0df809s80980234809</body>
</html>
这可以通过php轻松完成:
if (isset($_GET['code']))
echo $_GET['code'];
else
//do all the other stuff your page does
希望如果您不使用PHP,您可以辨别出如何完成相同的结果。这部分身份验证流程的文档记录很少,但希望这会有所帮助。
另外:(不确定我是否理解这部分问题,但是)他们允许的唯一身份验证流程是浏览器内登录页面。如果您正在尝试构建自己的自定义登录并传递凭据,则无法使用。