• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    קוד PHP שהכנתי לקבלת והדפסת הטוקן העדכני של המערכת שלכם.

    פורום מפתחים API
    1
    1
    74
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ה
      הרב מומחה נערך לאחרונה על ידי הרב

      הכנתי קוד PHP שדרכו אפשר לקבל את הטוקן העדכני למערכת שלכם.
      בקריאה לקוד הוא בודק האם נשמר בשרת שלכם טוקן ב-30 דקות האחרונות.
      אם נשמר הוא מדפיס את הטוקן שנשמר.
      אם לא הוא מקבל טוקן חדש ומדפיס אותו.
      לאחר שהוא מקבל טוקן הוא שומר אותו בשרת שלכם בקובץ בשם token.
      וכן הוא שומר בשרת שלכם בקובץ בשם token_date את התאריך והשעה של יצירת הטוקן, לצורך בדיקה בבקשות הבאות האם עבר 30 דקות מקבלת הטוקן הקודם.
      כמובן שצריך לשנות את מספר המערכת והסיסמה בשורות 3 ו- 5.
      דוגמה לשימוש בקוד לגוגל סקריפט/שיטס כאן.
      זה הקוד:

      <?php
      //מספר המערכת
      $username = "0773137777";
      //סיסמת הניהול
      $password = "123456";
      //כתובת השרת של ימות
      $url = "https://www.call2all.co.il/ym/api/Login?username=" . $username . "&password=" . $password;
      //הקובץ לשמירת הטוקן
      $tokenFile = "token";
      //הקובץ לשמירת התאריך והשעה של העדכון האחרון של הטוקן
      $dateFile = "token_date";
      
      // פונקציה לקבלת טוקן חדש
      function getNewToken($url, $tokenFile, $dateFile) {
          // שליחת בקשת GET
          $curl = curl_init($url);
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
          $response = curl_exec($curl);
          curl_close($curl);
      
          // בדיקת תשובה תקינה
          if ($response === false) {
              die("שגיאה בשליחת בקשת GET");
          }
      
          // פענוח תשובה בפורמט JSON
          $data = json_decode($response, true);
      
          // בדיקת פיענוח תקין של JSON
          if (is_null($data)) {
              die("שגיאה בפיענוח תשובה בפורמט JSON");
          }
      
          // שמירת הטוקן ותאריך העדכון
          file_put_contents($tokenFile, $data['token']);
          $now = new DateTime('now', new DateTimeZone('Israel'));
          $dateString = $now->format('Y-m-d H:i:s');
          file_put_contents($dateFile, $dateString);
      
          // הדפסת הטוקן החדש
          echo $data['token'];
      }
      
      // בדיקת האם יש טוקן תקף
      if (file_exists($tokenFile) && file_exists($dateFile)) {
          $lastTokenDate = file_get_contents($dateFile);
          $lastTokenDateTime = new DateTime($lastTokenDate, new DateTimeZone('Israel'));
          $now = new DateTime('now', new DateTimeZone('Israel'));
      
          // חישוב הפרש הזמן בדקות
          $interval = $now->getTimestamp() - $lastTokenDateTime->getTimestamp();
          $minutesPassed = $interval / 60;
      
          // בדיקה האם הטוקן פג תוקף
          if ($minutesPassed >= 30 || !preg_match('/^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{16}$/', file_get_contents($tokenFile))) {
              getNewToken($url, $tokenFile, $dateFile);
          } else {
              echo file_get_contents($tokenFile);
          }
      } else {
          // קבלת טוקן חדש אם אין קבצים קיימים
          getNewToken($url, $tokenFile, $dateFile);
      }
      ?>
      
      תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • נמחק על ידי  ה הרב 
      • שוחזר על ידי  ה הרב 
      • פוסט ראשון
        פוסט אחרון