Yii2-curl oAuth2与zoho

Fai*_*sal 8 url uri zoho yii2 yii2-advanced-app

我正在努力Yii2.我有一个URL关于浏览器被重定向到我的重定向URI.

网址

https://accounts.zoho.com/oauth/v2/auth?scope=ZohoBugTracker.projects.ALL,ZohoBugTracker.bugs.ALL&client_id=1000&response_type=code&access_type=offline&redirect_uri=http://11.111.111.111:7000/api/oauth/zoho_auth
Run Code Online (Sandbox Code Playgroud)

当我点击上面的URL时,它会在提供代码时重定向到我的重定向URI

重定向URI

点击上面的URL后,重定向URI就是 http://11.111.111.111:7000/api/oauth/zoho_auth?code=1000&location=us&accounts-server=https%3A%2F%2Faccounts.zoho.com

重定向URI响应

{"Message":"找不到与请求URI匹配的HTTP资源" http://11.111.111.111:7000/api/oauth/zoho_auth?code=1000&location=us&accounts-server=https:%2F%2Faccounts.zoho. com '."}

如何code从上面的回应得到?

更新1

根据给出的建议.我试图GET使用linslin发送请求.以下是我的代码

 public static function authToken()
{

    $curl = new curl\Curl();
    $response = $curl->setGetParams([
        'scope' => 'ZohoBugTracker.projects.ALL,ZohoBugTracker.bugs.ALL',
        'client_id' => '1000',
        'response_type' => 'code',
        'access_type' => 'offline',
        'redirect_uri' => 'http://11.111.111.111:7000/api/oauth/zoho_auth',
    ])
        ->get('https://accounts.zoho.com/oauth/v2/auth');

    echo $response;
    exit();
}
Run Code Online (Sandbox Code Playgroud)

然后在函数中调用此函数,通过该函数我实际上使用zoho API创建错误

测试我的API通道POSTMAN

HTTP://本地主机:225 /库存的Web/API /网络/ V1 /安装/电子邮件ref_no = 28373340485858U&CUSTOMER_ID = 37030315933&site_snap_name = 28373340485858U_1530958224_site_9.jpg及标志= 1

我的email函数是在API控制器中编写的.所以,它会首先击中issueSetup($param1,$param2)

public function actionEmail()
{
    .
    .
    .
    .

     Installations::setupEmail($param1, $param2, $param3);
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

上面的功能setupEmail($param1,$param2,$param3)在我的控制器里面.

 public static function setupEmail($ref_no, $customer_id, $install_id)
 {
     .
     .
     .
     .
     .
      list(params.....)= Installations::issueSetup($param1,$param2);
     .
     .
     .
     .      
  }
Run Code Online (Sandbox Code Playgroud)

issuSetup功能

public static function issueSetup($param1,$param2)
{
     .
     .
     .
     .
    $token = Installations::authToken();

    exit();
    .
    .
    .
    . 
}
Run Code Online (Sandbox Code Playgroud)

点击后API我在POSTMAN中没有得到任何响应只是空窗口

在此输入图像描述

任何帮助将受到高度赞赏.

lin*_*lin 2

当您启用 SSL 并检查响应代码/响应标头以重定向到 Zuhu 上的 userAuth 表单时,它工作得很好:

$curl = new \linslin\yii2\curl\Curl();

/** @var Curl $response */
$curl->setGetParams([
        'scope' => 'ZohoBugTracker.projects.ALL,ZohoBugTracker.bugs.ALL',
        'client_id' => '1000',
        'response_type' => 'code',
        'access_type' => 'offline',
        'redirect_uri' => 'http://11.111.111.111:7000/api/oauth/zoho_auth',
])->setOption(CURLOPT_SSL_VERIFYPEER, true)
    ->setOption(CURLOPT_SSL_VERIFYHOST, false)
    ->setOption(CURLOPT_CAINFO, 'C:/Ampps/apache/conf/ssl_crt/cacert.pem')
    ->get('https://accounts.zoho.com/oauth/v2/auth');

$responseHeaders = $curl->responseHeaders;

if ($curl->responseCode === 302 && isset($responseHeaders['Location'])) {
    header("location: ".$responseHeaders['Location']);
    die();
}
Run Code Online (Sandbox Code Playgroud)