Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#使用命名空間qbpwcf
namespace qbpwcf;

#匯入外部套件
include("../allInOne.php");

/*

#說明要測試的案例
echo"<hr>amazon::loginWithAmazonAccount - testCase 1<br>";
        
#涵式說明:
#用 amazon 的登入機制來認證,登入成功後轉址到特定頁面.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息
#$result["content"],語法
#$result["function"],當前執行的函數名稱
#必填參數:
#$conf["clientId"],字串,login app 用戶端的 id.
$conf["clientId"]="amzn1.application-oa2-client.b3d33c61188d45b2a5219cff73c184b8";
#可省略參數:
#$conf["redirect_uri"],字串,認證完要轉址到哪哩,預設為$_SERVER["REQUEST_URI"].
#$conf["redirect_uri"]="";
#可省略參數:
#無
#參考資料:
#http://login.amazon.com/website
#http://login.amazon.com/documentation
#https://images-na.ssl-images-amazon.com/images/G/01/lwa/dev/docs/website-developer-guide._TTH_.pdf
#https://sellercentral.amazon.com/gp/homepage.html
#備註:
#建構中...
$loginWithAmazonAccount=amazon::loginWithAmazonAccount($conf);
unset($conf);

#如果建立用amazon登入的語法失敗
if($loginWithAmazonAccount["status"]==="false"){
        
        #印出錯誤
        var_dump($loginWithAmazonAccount);
        
        #終止程式
        exit;
        
        }#if end

#印出語法
echo $loginWithAmazonAccount["content"];

*/

#說明要測試的案例
echo"<hr>amazon::parseToken - testCase 1<br>";

/*

#涵式說明:
#解析從 amazon 認證過後的 token 與相關資訊 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["founded"],是否有找到必備的token.
#$result["error"],錯誤訊息
#$result["content"],解析後的結果
#$result["function"],當前執行的函數名稱
$parseToken=amazon::parseToken();

#如果接收變數失敗
if($parseToken["status"]==="false"){
        
        #印出內容
        var_dump($parseToken);
        
        #結束程式
        exit;
        
        }#if end
        
#如果有找到需要的資訊
if($parseToken["founded"]==="true"){
        
        #印出取得的資訊
        #var_dump($parseToken["content"]);
        
        #儲存token資訊到session變數裡面
        $_SESSION["amazonProfileToken"]=$parseToken["content"]; 
                
        }#if end                
                
#如果存在認證過後的token資訊
if(isset($_SESSION["amazonProfileToken"])){
        
        var_dump($_SESSION["amazonProfileToken"]);
        
        }#if end        
                
*/

#說明要測試的案例
echo"<hr>amazon::authenticateToACbyToken - testCase 1<br>";

/*

#涵式說明:
#用 RESTful API 來跟 Amazon cloud 互動的要求連結.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息
#$result["content"],語法
#$result["function"],當前執行的函數名稱
#必填參數:
#$conf["clientId"],字串,用戶端id.
$conf["clientId"]="amzn1.application-oa2-client.560fdea98a7f4031af32e126e6f5fbd6";
#$conf["scope"],字串,要求的權限.
$conf["scope"]="clouddrive:read_all clouddrive:write";
#$conf["redirect_uri"],字串,認證完要轉址到哪哩.
$conf["redirect_uri"]="https://127.0.0.1/~qbpwcf/samplePage/phplib/qbpwcf/testCase/amazonT.php";        
$authenticateToAC=amazon::authenticateToAC($conf);

#如果建立連結失敗
if($authenticateToAC["status"]==="false"){
        
        #印出內容
        var_dump($parseToken);
        
        #結束程式
        exit;
        
        }#if end
        
#反之
else{
        
        #印出連結
        echo $authenticateToAC["content"];
        
        }#else end

*/

#說明要測試的案例
echo"<hr>amazon::parseRestToken - testCase 1<br>";

/*

#涵式說明:
#用 RESTful API 來跟 Amazon cloud 互動的要求連結.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息
#$result["content"],語法
#$result["function"],當前執行的函數名稱
#必填參數:
#$conf["clientId"],字串,用戶端id.
$conf["clientId"]="amzn1.application-oa2-client.560fdea98a7f4031af32e126e6f5fbd6";
#$conf["scope"],字串,要求的權限.
$conf["scope"]="clouddrive:read_all clouddrive:write";
#$conf["redirect_uri"],字串,認證完要轉址到哪哩.
$conf["redirect_uri"]="https://127.0.0.1/~qbpwcf/samplePage/phplib/qbpwcf/testCase/amazonT/parseRestToken_t1.php";      
$authenticateToAC=amazon::authenticateToAC($conf);

#如果建立連結失敗
if($authenticateToAC["status"]==="false"){
        
        #印出內容
        var_dump($parseToken);
        
        #結束程式
        exit;
        
        }#if end
        
#反之
else{
        
        #印出連結
        echo $authenticateToAC["content"];
        
        }#else end

#檢查是否已經有 token 資訊
if(isset($_SESSION["amazon::parseRestToken"])){
        
        echo "已有 token 資訊:<br>";
        var_dump($_SESSION["amazon::parseRestToken"]);
        
        }#if end

*/

#說明要測試的案例
echo"<hr>amazon::parseRestToken - testCase 1<br>";

/*

#函式說明:
#讀取Amazon cloud drive的檔案清單 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["content"],取得的回應內容.
#必填參數:
#$conf["fileArgu"],字串,變數__FILE__的內容.
$conf["fileArgu"]=__FILE__;
#$conf["authToken"],字串,使用者登入後取得的token.
$conf["authToken"]="AtzaIwEBIPtNvEE20oe7L0QhTy7aZLBABO7iseIBeW1GKiWxmk9zpN3j3oyEm8M3DguMkD0IvwFhsb0UVQKYhmSFUe6ZKKwdbFF9wIaNPcUrjTxX_NGjJe5vG9vkgV7g9ZCmXZzkhPpR0o3mWTUgMU82cHhh0VQdRcYJIgghwXowIR3AKyfAZ5FrbkcveMhq5mbhOueJ1LgKduuEIVIkbmhkbaEydCP-zknz8lmqH9kX2auY8A05ksWGr7CttvQpAywHWKSGJNSO91-8-d2G3Ay0Ji1qTtz97jXnZsaREBJULLTEzOAq60BmtAAsg51zaoa0YWAIFuvp4ZVeV65gdJI0Vy-rQfxHpuMxHbIlL63ilpsyxIHEQULlaj9SlY5AebUK9h7doV8c9C2qG_MaW68knlaE9vT4FWQy-wq5AQM17nFcjsRVdBSwyKvUUBN8m6WBUGG5oUNTuvFHKhaIVHkUr3W44JajhF_e5VPbWjo-WYBGvCPUIsV3_0bQksAyEbU3kAG7lC--xsX3NboKxyFzsXXpUWZAsF-3ukXXfuGTd4vgcTB00H6Wi6B1tY9eqXnZ_8LlommhpXnFD-EJ7HhQrRkv58u08sksU5OHtpHXP5PM6mEmlA";
#備註:
#建構中 
amazon::readAD($conf);
unset($conf);

*/

#說明要測試的案例
echo"<hr>amazon::authenticateToACbyCode - testCase 1<br>";

/*

#涵式說明:
#用 RESTful API 來跟 Amazon cloud 互動的要求連結,識別的方式為code.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息
#$result["content"],語法
#$result["function"],當前執行的函數名稱
#必填參數:
#$conf["clientId"],字串,用戶端id,亦即app的clientId.
$conf["clientId"]="amzn1.application-oa2-client.560fdea98a7f4031af32e126e6f5fbd6";
#$conf["scope"],字串,要求的權限,例如:clouddrive:read_all clouddrive:write就是代表擁有全部內容的讀寫權限.
$conf["scope"]="clouddrive:read_all clouddrive:write";
#可省略參數:
#$conf["redirect_uri"],字串,認證完要轉址到哪哩,預設為$_SERVER["REQUEST_URI"].
#$conf["redirect_uri"]="";
#參考資料:
#amazon cloud drive scrope=>https://developer.amazon.com/public/apis/experience/cloud-drive/content/getting-started
#amazon restful api=>https://developer.amazon.com/appsandservices/apis/experience/cloud-drive/content/restful-api-getting-started
#備註:
#導頁後的網址格式=>https://127.0.0.1/#access_token=Atza%7CIwEBIA-3AFM0FETM_DFFpBQmyztJKN0TYp4AT7CBWy4k8InyFzTA-t1cMPJg05jaRFFjppk4S3VCu3FlBl4MwJj3Uh_A_15abg4SARxfgAv7-vRZ-1UbhYhFmbhjEdziWg4YyoYZvJn5ihZXI2o7mYxy-8r4d4TnwpIspJ3X9tLc6JYzJCU3VRPVCajwV3-WWGwyeQL-DiLgrwIm7iK8Y8W87HoqoXaomPpzsnuef0tQe2Fcquzo3_AVAIB0RYjyH97JtZgL95lQrCagjbr6HNL0mPvjD3GpHxhTjViZjvhMlj8zYAlHc0PYs6zMZ_gElFUOlH448woxtjJtDf4U-l8YZTYq25CBXYeN86l6YuNmi8ZuqozYwHGUDccWR2qbr8jsNdNvErSroeU30sKcPfPEdzbhi7VTOR4WtQS8oYdZHYZTwKWCPPKV1NXRfgQKA9LOUaH85KPWdTsseh-QeDKjk9dkP9j_noNre47mtQWbqojaIhSZfDmADwVQBqBUsQ1DFhaT0r5cF6vjC_LZmHfFZmY067G2JeMijpXfxCvlbwQweA&token_type=bearer&expires_in=3600&scope=clouddrive%3Aread_all
$authenticateToACbyCode=amazon::authenticateToACbyCode($conf);
unset($conf);

#如果產生認證網址或解析失敗
if($authenticateToACbyCode["status"]==="false"){
        
        #印出內容
        var_dump($authenticateToACbyCode);
        
        #結束程式
        exit;
        
        }#if end

#反之
else{
        
        #印出連結
        echo $authenticateToACbyCode["content"];
        
        }#else end

#檢查是否已經有 token 資訊
if(isset($_SESSION["amazon::parseRestCode"])){
        
        echo "已有 token 資訊:<br>";
        var_dump($_SESSION["amazon::parseRestCode"]);
        
        }#if end

*/

#說明要測試的案例
echo"<hr>amazon::parseRestCode - testCase 1<br>";

/*

#涵式說明:
#從表單接收解析從 amazon REST API 認證過後的 code 與相關資訊,並將結果儲存到$_SESSION變數裡面.
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.        
#$result["error"],錯誤訊息
#$result["content"],解析後的結果
#$result["function"],當前執行的函數名稱.
#$result["founded"],是否有找到必備的code.
#可省略參數:
#$conf["restCodeSessionName"],字串陣列,儲存token資訊的session變數名稱,預設為array("amazon::parseRestCode").
#$conf["restCodeSessionName"]=array("amazon::parseRestCode");
#$conf["re_url"],字串,成功取得token資訊後要轉位到哪邊,預設為$_SERVER["PHP_SELF"].
#$conf["re_url"]=$_SERVER["PHP_SELF"];
$parseRestCode=amazon::parseRestCode();

#如果解析code失敗 
if($parseRestCode["status"]==="false"){
        
        #印出內容
        var_dump($parseRestCode);
        
        #結束程式
        exit;
        
        }#if end
        
#反之
else{
        
        #印出內容
        var_dump($parseRestCode);
        
        }#else end

*/

#說明要測試的案例
echo"<hr>amazon::getACtokenByCode - testCase 1<br>";

#/

#函式說明:
#用parseRestCode函數取得的code來取得token 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["content"],取得的回應內容.
#$result["cmd"],執行的command
#必填參數:
#$conf["fileArgu"],字串,變數__FILE__的內容.
$conf["fileArgu"]=__FILE__;
#$conf["code"],字串,從parseRestCode函數取得的code.
$conf["code"]="ANlLNcOyEpeaXyzyOtIy";
#$conf["clientId"],字串,用戶端id,亦即app的clientId.
$conf["clientId"]="amzn1.application-oa2-client.560fdea98a7f4031af32e126e6f5fbd6";
#$conf["clientSecret"],字串,用戶端的 client secret.
$conf["clientSecret"]="4d006949c8dae4a0ed9b28a512bb3bf599538c602a44c8c424d7d33efe69742c";
#可省略參數:
#無
#備註:
#僅能在命令列下執行.
$getACtokenByCode=amazon::getACtokenByCode($conf);
unset($conf);

#取得token失敗
if($getACtokenByCode["status"]==="false"){
        
        #印出內容
        var_dump($getACtokenByCode);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($getACtokenByCode);

#*/

?>