【问题标题】:Instagram Authentication using PHP使用 PHP 的 Instagram 身份验证
【发布时间】:2016-07-13 10:44:32
【问题描述】:

各位开发者您好,

我到处搜索,似乎这个问题仍未解决,有些人似乎通过使用代理服务器或更改其 IP 地址来解决这个问题,这在我的情况下不起作用。由于 Instagram 没有官方的 PHP 或 JavaScript SDK,我需要在这里问这个问题。

当我尝试通过检索到的令牌向 Instagram 发起 Oauth 调用时,它将返回以下错误消息:

{"code": 400, "error_type": "OAuthException", "error_message": "Matching code was not found or was already used."}

我在下面的代码中包含了供您观察:

获取令牌

private function getLoginURL($scopes = array("basic")) {
    return self::API_OAUTH_URL."/?client_id=".self::CLIENT_ID."&redirect_uri=".self::REDIRECT_URI."&scope=".implode("+", $scopes)."&response_type=code";
}

身份验证(Oauth 2.0)

private function auth() {
    $api_data = array(
        'client_id'     => self::CLIENT_ID,
        'client_secret' => self::CLIENT_SECRET,
        'grant_type'    => 'authorization_code',
        'redirect_uri'  => urlencode(self::TOKEN_URL),
        'code'          => self::TOKEN
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, self::TOKEN_URL);
    curl_setopt($ch, CURLOPT_POST, count($api_data));
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($api_data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 90);

    $json_data = curl_exec($ch);
    curl_close($ch);
    //return json_decode($json_data, true);
    return $json_data;
}

谁能帮帮我:(

【问题讨论】:

    标签: php api oauth-2.0 instagram


    【解决方案1】:

    问题:您的回复类型是code

    1. 由于 Instagram API 的新变化,您的回复类型需要为 token
    2. 这可能需要对现有代码进行一些修改。

    3. 使用token 时,范围规范随后出现。

      private function getLoginURL($scopes = array("basic")) {
          return self::API_OAUTH_URL."/?client_id=".self::CLIENT_ID."&redirect_uri=".self::REDIRECT_URI."&response_type=token&scope=".implode("+", $scopes);
      }
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      相关资源
      最近更新 更多