<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
require(dirname(__FILE__) . '/includes/lib_code.php');
#天猫配置
define('TMALL_APPKEY','你的key');
define('TMALL_SECRETKEY','你的appsecret');
define('TMALL_REDIRECT_URI','http://172.18.2.142/getsessionkey.php');
define('TMALL_RETURN_URI','Location:http://172.18.2.142/index.php');

$code = $_GET["code"];

if (!empty($_GET['code'])) {
$url = 'https://oauth.taobao.com/token';
$postfields= array(
'grant_type'=>'authorization_code',
'client_id'=>TMALL_APPKEY,
'client_secret'=>TMALL_SECRETKEY,
'code'=>$_GET['code'],
'redirect_uri'=>TMALL_REDIRECT_URI
);
$post_data = '';
foreach($postfields as $key=>$value){
$post_data .="$key=".urlencode($value)."&";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
//指定post数据
curl_setopt($ch, CURLOPT_POST, true);
//添加变量
curl_setopt($ch, CURLOPT_POSTFIELDS, substr($post_data,0,-1));
$output = curl_exec($ch);
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
$a=json_decode($output,true);

// $oOrder = &app::get('ome')->model('taobao_key');
$access_token = $a['access_token'];

//将token插入数据库
// $time = date('Y-m-d H:i:s',time());
// $sql = 'INSERT INTO dsc_taobao_sessionkey (`brand_id`,`time`, `access_token`) VALUES ("","'.$time.'","'.$access_token.'")';
// $db->query($sql);
$time = date('Y-m-d H:i:s',time());
$table = "dsc_taobao_sessionkey";
$field_values = array("time" =>$time, "access_token" =>$access_token);
$db->autoExecute($table, $field_values, "INSERT");

header(TMALL_RETURN_URI);
}else{
$url = "https://oauth.taobao.com/authorize";
$parames = array(
'client_id' =>TMALL_APPKEY,
'response_type' => 'code',
'redirect_uri'=>TMALL_REDIRECT_URI,
'state'=>'1'
);
$urlcode = '';
foreach ($parames as $key=>$value){
$urlcode .= "$key=".$value.'&';
}
$urlcode = substr($urlcode,0, strlen($urlcode)-1);

$authUrl = $url.'?'.$urlcode;
//echo $authUrl;die;
//header("Location:".$authUrl);
header("Location:".$authUrl);

}

我们访问 172.18.2.142/getsessionkey 时就获取了sessionkey ,将其存入数据库

获取淘宝sessionkey 实时保存的更多相关文章

  1. 自动获取淘宝API数据访问的SessionKey

    最近在忙与淘宝做对接的工作,总体感觉淘宝的api文档做的还不错,不仅有沙箱测试环境,而且对于每一个api都可以通过api测试工具生成想要的代码,你完全可以先在测试工具中测试之后再进行代码的编写,这样就 ...

  2. 获取淘宝客推广位id(adzone_id)

    在 获取淘宝联盟选品库的宝贝信息 这个接口中需要用到 推广位id,那边这个ID在哪找呢?1.进入阿里妈妈后台>推广管理>推广位管理,如下图: 2.在推广位管理 列表页 找到 PID,最后一 ...

  3. python 获取淘宝商品信息

    python cookie 获取淘宝商品信息 # //get_goods_from_taobao import requests import re import xlsxwriter cok='' ...

  4. python:爬虫获取淘宝/天猫的商品信息

    [需求]输入关键字,如书包,可以搜索出对应商品的信息,包括:商品标题.商品链接.价格范围:且最终的商品信息需要符合:包邮.价格差不会超过某数值 #coding=utf-8 ""&q ...

  5. 安卓sdk webview获取淘宝个人信息100项,源码。

    1.贴出主要代码.这个不是python,python只涉及了服务端对信息提取结果的接受.主体是java  + android + js.由于淘宝各模块都是二级子域名,不能只在一个页面完成所有请求,aj ...

  6. 淘宝开放平台php-sdk测试 获取淘宝商品信息(转)

    今天想使用淘宝开放平台的API获取商品详情,可是以前一直没使用过,看起来有点高深莫测,后然看开发入门,一步一步,还真有点感觉了,然后看示例,还真行了,记下来以后参考.其中遇到问题,后然解决了.因为我已 ...

  7. PYTHON -转载,获取淘宝数据01

    import requests import sys import random api = { 'number':[ 'https://acs.m.taobao.com/h5/mtop.taobao ...

  8. 用ajax获取淘宝关键字接口

    可定需要查看淘宝界面的结构,按F12查看网页,此时先清除一下网页中的数据,让Network制空,随后在输入框中输入新的内容,比如钱包,数据中会出现新的数据.点击及查看蓝色方框中的内容 点击之后,你可以 ...

  9. [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据

    参考文章地址:https://blog.csdn.net/zhengzizhi/article/details/80716608 http://open.taobao.com/apitools/api ...

随机推荐

  1. Timus - 1209 - 1, 10, 100, 1000...

    先上题目: 1209. 1, 10, 100, 1000... Time limit: 1.0 secondMemory limit: 64 MB Let's consider an infinite ...

  2. [bzoj1708][Usaco2007 Oct]Money奶牛的硬币_动态规划_背包dp

    Money奶牛的硬币 bzoj-1708 Usaco-2007 Oct 题目大意:在创立了她们自己的政权之后,奶牛们决定推广新的货币系统.在强烈的叛逆心理的驱使下,她们准备使用奇怪的面值.在传统的货币 ...

  3. Java-基本输入输出

    Scanner sc = new Scanner(System.in); System.out.println("Please input the path:"); String ...

  4. vue-自定义组件传

    项目中,我们经常会遇到自定义组件传值的问题,方法很多种,但是原理很简单,下述文档总结实际项目中使用的传值方式. 父组件传递给子组件某一值,子组件内会修改该值,然后父组件需要获取新值 ​ 在 Vue 中 ...

  5. eclipse怎样开启/关闭代码提示功能

    把以下红色框中的勾勾选上就是使用代码提示功能,不选就是关闭.

  6. Linux学习笔记:什么是x86

    什么是x86 和硬件打交道常常会听说x86,疑惑的时候自己翻过书上网查过资料.可是都不甚明白.近期再次遇到x86这个词,随具体了解并做笔记记录. 想要知道什么是x86应该先区分CPU的分类. CPU ...

  7. Cocos2d-x3.3beta0创建动画的3种方式

    1.单独载入精灵对象 渲染效率低,浪费资源,不推荐用该方法.代码例如以下:注:代码仅仅需贴到HelloWorldScene.cpp中就可以. //First,单独渲染每个精灵帧 auto sprite ...

  8. BZOJ 1005 [HNOI2008]明明的烦恼 purfer序列,排列组合

    1005: [HNOI2008]明明的烦恼 Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少 ...

  9. bootstrap搜索样式

    <div class="container"> <div class="input-group"> <input type=&qu ...

  10. Linux - 进程与内存查看

    top NI表示进程的优先级. -20的优先级,非常的高. top -p xxx 可以查看具体的进程情况. renice -n -6 进程ID 可以改变一个正在运行的pid的优先级. [root@lo ...