function pushMessageToSingle()
 {
     $igt = new IGeTui($this->host, $this->app_key, $this->master_secret);
     //     消息模版:
     //     1.TransmissionTemplate:透传功能模板
     //     2.LinkTemplate:通知打开链接功能模板
     //     3.NotificationTemplate:通知透传功能模板
     //     4.NotyPopLoadTemplate:通知弹框下载功能模板
     //    	$template = IGtNotyPopLoadTemplateDemo();
     //    	$template = IGtLinkTemplateDemo();
     //    	$template = IGtNotificationTemplateDemo();
     $template = IGtTransmissionTemplateDemo();
     //个推信息体
     $message = new IGtSingleMessage();
     $message->set_isOffline(true);
     //是否离线
     $message->set_offlineExpireTime(3600 * 12 * 1000);
     //离线时间
     $message->set_data($template);
     //设置推送消息类型
     //	$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
     //接收方
     $target = new IGtTarget();
     $target->set_appId($this->app_id);
     $target->set_clientId($this->cid);
     //    $target->set_alias(Alias);
     try {
         $rep = $igt->pushMessageToSingle($message, $target);
         var_dump($rep);
         echo "<br><br>";
     } catch (RequestException $e) {
         $requstId = e . getRequestId();
         $rep = $igt->pushMessageToSingle($message, $target, $requstId);
         var_dump($rep);
         echo "<br><br>";
     }
 }
Beispiel #2
0
function pushMessageToSingleBatch()
{
    putenv("gexin_pushSingleBatch_needAsync=false");
    $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
    $batch = new IGtBatch(APPKEY, $igt);
    $batch->setApiUrl(HOST);
    //$igt->connect();
    //消息模版:
    // 1.TransmissionTemplate:透传功能模板
    // 2.LinkTemplate:通知打开链接功能模板
    // 3.NotificationTemplate:通知透传功能模板
    // 4.NotyPopLoadTemplate:通知弹框下载功能模板
    //    $template = IGtNotyPopLoadTemplateDemo();
    $template = IGtLinkTemplateDemo();
    //$template = IGtNotificationTemplateDemo();
    //    $template = IGtTransmissionTemplateDemo();
    //个推信息体
    $message = new IGtSingleMessage();
    $message->set_isOffline(true);
    //是否离线
    $message->set_offlineExpireTime(12 * 1000 * 3600);
    //离线时间
    $message->set_data($template);
    //设置推送消息类型
    //    $message->set_PushNetWorkType(1);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
    $target = new IGtTarget();
    $target->set_appId(APPID);
    $target->set_clientId(CID);
    $batch->add($message, $target);
    try {
        $rep = $batch->submit();
        var_dump($rep);
        echo "<br><br>";
    } catch (RequestException $e) {
        $requstId = e . getRequestId();
        $rep = $igt->pushMessageToSingle($message, $target, $requstId);
        var_dump($rep);
        echo "<br><br>";
    }
}
 public function pushMessageToSingle($cid, $msg, $para = '')
 {
     //消息模版:
     // 1.TransmissionTemplate:透传功能模板
     // 2.LinkTemplate:通知打开链接功能模板
     // 3.NotificationTemplate:通知透传功能模板
     // 4.NotyPopLoadTemplate:通知弹框下载功能模板
     //      $template = IGtNotyPopLoadTemplateDemo();
     //      $template = IGtLinkTemplateDemo();
     // $template = $this->IGtNotificationTemplateDemo('测试单推透传消息');
     $template = $this->IGtTransmissionTemplateDemo($msg, $para);
     //个推信息体
     $message = new IGtSingleMessage();
     $message->set_isOffline(true);
     //是否离线
     $message->set_offlineExpireTime(3600 * 12 * 1000);
     //离线时间
     $message->set_data($template);
     //设置推送消息类型
     //  $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
     //接收方
     $target = new IGtTarget();
     $target->set_appId(C('PUSH_APPID'));
     $target->set_clientId($cid);
     //    $target->set_alias(Alias);
     try {
         $rep = $this->igt->pushMessageToSingle($message, $target);
         // var_dump($rep);
         // echo ("<br><br>");
     } catch (RequestException $e) {
         $requstId = e . getRequestId();
         $rep = $this->igt->pushMessageToSingle($message, $target, $requstId);
         // var_dump($rep);
         // echo ("<br><br>");
     }
     return $rep;
 }
Beispiel #4
0
function pushMessageToSingle($clientID, $title, $text)
{
    //$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $igt = new IGeTui(NULL, APPKEY, MASTERSECRET, false);
    //消息模版:
    // 1.TransmissionTemplate:透传功能模板
    // 2.LinkTemplate:通知打开链接功能模板
    // 3.NotificationTemplate:通知透传功能模板
    // 4.NotyPopLoadTemplate:通知弹框下载功能模板
    //    	$template = IGtNotyPopLoadTemplateDemo();
    //    	$template = IGtLinkTemplateDemo();
    //    	$template = IGtNotificationTemplateDemo();
    //    $template = IGtTransmissionTemplateDemo();
    $template = getIGtNotificationTemplate($title, $text, 'push.png');
    //个推信息体
    $message = new IGtSingleMessage();
    $message->set_isOffline(true);
    //是否离线
    $message->set_offlineExpireTime(3600 * 12 * 1000);
    //离线时间
    $message->set_data($template);
    //设置推送消息类型
    //	$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
    //接收方
    $target = new IGtTarget();
    $target->set_appId(APPID);
    $target->set_clientId($clientID);
    //    $target->set_alias(Alias);
    try {
        $rep = $igt->pushMessageToSingle($message, $target);
        //        var_dump($rep);
        //        echo ("<br><br>");
    } catch (RequestException $e) {
        $requstId = e . getRequestId();
        $rep = $igt->pushMessageToSingle($message, $target, $requstId);
        //        var_dump($rep);
        //        echo ("<br><br>");
    }
}
Beispiel #5
0
 private function android()
 {
     $template = $this->IGtTransmissionTemplateDemo();
     $message = new IGtSingleMessage();
     $message->set_isOffline(true);
     //是否离线
     $message->set_offlineExpireTime(3600 * 12 * 1000);
     //离线时间
     $message->set_data($template);
     //设置推送消息类型
     //接收方
     $target = new IGtTarget();
     $target->set_appId(APPID);
     $target->set_clientId(CID);
     $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
     try {
         $rep = $igt->pushMessageToSingle($message, $target);
         var_dump($rep);
         echo "<br><br>";
     } catch (RequestException $e) {
         $requstId = e . getRequestId();
         $rep = $igt->pushMessageToSingle($message, $target, $requstId);
         var_dump($rep);
         echo "<br><br>";
     }
 }
 function pushMessageToSingle($content, $title, $tz_content, $alias)
 {
     $igt = new \IGeTui(NULL, APPKEY, MASTERSECRET, false);
     $template = $this->IGtNotificationTemplateDemo($content, $title, $tz_content);
     //个推信息体
     $message = new \IGtSingleMessage();
     $message->set_isOffline(true);
     //是否离线
     $message->set_offlineExpireTime(3600 * 12 * 1000);
     //离线时间
     $message->set_data($template);
     //设置推送消息类型
     //接收方
     $target = new \IGtTarget();
     $target->set_appId(appid);
     $target->set_alias($alias);
     try {
         $rep = $igt->pushMessageToSingle($message, $target);
     } catch (\RequestException $e) {
         $requstId = e . getRequestId();
         $rep = $igt->pushMessageToSingle($message, $target, $requstId);
     }
 }
Beispiel #7
0
/**
 * 单推接口示例
 * @param $template: 推送的消息模板
 * @param $cid: 推送的客户端标识
 */
function pushMessageToSingle($template, $cid)
{
    global $igt;
    //个推信息体
    $message = new IGtSingleMessage();
    $message->set_isOffline(true);
    //是否离线
    $message->set_offlineExpireTime(3600 * 12 * 1000);
    //离线时间
    $message->set_data($template);
    //设置推送消息类型
    //	$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
    //接收方
    $target = new IGtTarget();
    $target->set_appId(APPID);
    $target->set_clientId($cid);
    //    $target->set_alias(Alias);
    try {
        $rep = $igt->pushMessageToSingle($message, $target);
        var_dump($rep);
    } catch (RequestException $e) {
        $requstId = e . getRequestId();
        $rep = $igt->pushMessageToSingle($message, $target, $requstId);
        var_dump($rep);
    }
}
Beispiel #8
0
function doTheThing ($postdata) {
    $err        = 
    $requestId  = 
    $code       = false;

    try {
        $token = getToken($postdata);

        $client = getClientForToken($token);
        if (is_null($client)) {
            $code = 404;
            throw new Exception("Token not found.");
        }

        $gmailService = new Google_Service_Gmail($client);
        $resp = $gmailService->users_messages->listUsersMessages("me", array(
            "q" => "newer_than:1m -is:draft -in:sent -is:chat",
            "includeSpamTrash" => false, 'maxResults' => 1000 
        ));

        $requestId = getRequestId($gmailService);

        $arr = [];

        $q = "newer_than:2m -is:draft -in:sent -is:chat";

        // For every time through, we send a new query to gmail which excludes 
        // the emails we have already found. When there is no PageToken, we're 
        // done. It doesn't seem like there are a lot of different senderd
        // so I am setting the max reults lower.

        $emails = '';

        while (true) {
            $resp = $gmailService->users_messages->listUsersMessages("me", array(
                "q" => $q." ".$emails,
                "includeSpamTrash" => false, 'maxResults' => 100
            ));

            foreach ( $resp->getMessages() as $m ) {
                $x = $gmailService->users_messages->get("me", $m->getId(), array( "format" => "metadata", "metadataHeaders" => "from" ));
                $h = $x->getPayload()->getHeaders();
                $email = $h[0]->getValue();
                $email = strtolower(trim(preg_replace("/^.*</", "", $email), '>'));
                $arr[$email] = true;
            }

            $emails = " -from:".implode(" -from:", array_keys($arr));

            if(empty($resp->getNextPageToken())) {
                break;
            }
        }


        $obj = [
            "total" => count($arr),
            "values" => array_keys($arr)
        ];

        file_put_contents(PATH.'/requests/'.$requestId, json_encode($obj, true));
        $code = 201;
    } catch (Google_Auth_Exception $e) {
        $err = $e->getMessage();
        $code = 401;
    } catch (Exception $e) {
        $err = $e->getMessage();
        if (empty($code)) {
            $code = 418;
        }
    }
    return [ $requestId, $err, $code ];
}