הפוסטים הטובים ביותר שנוצרו על ידי soris1989
-
RE: הוספת משתנים באופן יזום לבקשה
@צדיק-תמים כתב בהוספת משתנים באופן יזום לבקשה:
session_id($_GET['ApiCallId']);
תודה רבה,
זה עזר לי מאוד!! -
RE: עזרה עם מודול API
בסופו של דבר השתמשתי ב-session, ונעזרתי בפוסט:
https://f2.freeivr.co.il/topic/13141/מה-זה-סשן-ואיך-משתמשים-בו/2 -
RE: בקשת POST בC# יוצרת שגיאה
@צדיק-תמים אני בדקתי, ומה ש@עידו אומר זה אמת.
יש בעיה בסיריאליזציה ב-C#, אגב, בדקתי את זה ב-postman וזה עובד (עם בקשת POST), ובדקתי את זה גם ב-PHP וזה גם עובד (גם עם בקשת POST).אם יש לך השגות על מה שנאמר כאן, אני מזמין אותך לנסות בעצמך את הנ"ל.
-
RE: עזרה לגבי קליקרים
@אA
ההגדרה הזו מסירה את ההודעה של: "שלוחה 15" בכניסה לשלוחה. -
RE: בקשת POST בC# יוצרת שגיאה
@עידו הרצתי עכשיו דרך ה-bash סידרה של שליחת בקשות CURL של POST, ואכן שבשביל שזה יעבוד, צריך להוריד את ה-flag של -d, ובמקום זה לשים flags של:
\--header "Content-Type: application/json" \--data-raw '{"token":"<username>:<password>","what":"ivr2:14/text_file.ini","contents":"Some test message"}'
לגבי זה שזה עובד במקרים אחרים, אני לא יודע מה לומר לך. מה שכן, בשביל שזה יעבוד בפורמט JSON אתה תצטרך ככל הנראה לבנות CURL באופן ידני, כי ה-httpClient.PostAsync לא בונה נכון את ה-CURL.
בכל אופן, הצעתי לך אתמול פתרון שכן עובד, תשתמש בו.
-
RE: עזרה לגבי קליקרים
@אופיר מסכים ב-100%.
היו צריכים לדעתי להפריד את זה ל-2 הגדרות שונות. -
RE: מדוע נוצרת השגיאה הזו?
@עידו בניתי גם כן קוד ב-C# וקיבלתי את אותה השגיאה כאשר השתמשתי ב- HttpClient.PostAsync, כנראה שיש בעיה בסיראליזציה של ה-body, והטוקן לא מצליח להיות מתורגם כראוי.
למרות שנהוג להשתמש ב-POST לצורך יצירת משאבים (קבצים, נתנוים וכד'), כאן השתמשתי ב-HttpClient.GetAsync לצורך עקיפת הבעיה, וזה אכן הצליח ליצור קובץ לשלוחה הרצויה.
אגב, לצורך שימוש ב-API צריך לבצע 2 בקשות:
- הזדהות דרך מתודת קצה Login, לצורך קבלת ה-token.
- קריאה למתודת קצה המתאימה (שכאן היא UploadTextFile), תוך כדי השתלת ה-token ב-body או ב-header בהתאם לדוקומנטציה בקישור:
https://f2.freeivr.co.il/topic/55/api-גישת-מפתחים-למערכות/33?_=1739774721081
להלן הקוד:
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace YemotUploadTextFile { internal class Program { static void Main(string[] args) { UploadTextFileWithGet().GetAwaiter().GetResult(); Console.WriteLine("Done!"); } static async Task UploadTextFileWithGet() { var username = "<username>"; var password = "<password>"; var client = new HttpClient(); try { // login yemot system for getting token HttpResponseMessage responseJ = await client.GetAsync( $"https://www.call2all.co.il/ym/api/Login?username={username}&password={password}"); // בדיקת מצב התגובה if (responseJ.IsSuccessStatusCode) { // קריאת התוכן של התגובה string responseContent = await responseJ.Content.ReadAsStringAsync(); Console.WriteLine($"Response: {responseContent}"); var responseObj = JsonConvert.DeserializeObject<JObject>(responseContent); if (responseObj["responseStatus"].ToString() == "OK") { // send a get request to upload file on yemot server string token = responseObj["token"].ToString(); string what = "ivr2:14/text_file.ini"; string contents = "Some test message"; Console.WriteLine($"Response: {token}"); client = new HttpClient(); var responseJ2 = await client.GetAsync($"https://www.call2all.co.il/ym/api/UploadTextFile?token={token}&what={what}&contents={contents}"); // בדיקת מצב התגובה if (responseJ2.IsSuccessStatusCode) { // קריאת התוכן של התגובה var responseContent2 = await responseJ2.Content.ReadAsStringAsync(); Console.WriteLine($"Response: {responseContent2}"); } else { Console.WriteLine($"Error: {responseJ2.StatusCode}"); return; } } else { Console.WriteLine($"Error: {responseObj["message"]}"); return; } } else { Console.WriteLine($"Error: {responseJ.StatusCode}"); return; } } catch (Exception ex) { Console.WriteLine($"Exception: {ex.Message}"); } await Task.Delay(1000); Console.WriteLine("Async work done!"); } } }
פוסטים אחרונים שנוצרו על ידי soris1989
-
RE: עזרה לגבי קליקרים
@אA לגבי @מנחם, כתוב בפרופיל שלו:
"הצטרף ב- 18 במאי 2020, 16:11 התחבר לאחרונה 16 בנוב׳ 2022, 21:58",
הוא התחבר לאחרונה לפני שנתיים+, תנסה אולי מנהל פעיל כמו @eliyahu -
RE: עזרה לגבי קליקרים
@אופיר תודה רבה לך ידידי!!
האמת היא שאני בא מעולם התכנות, ואני כרגע לומד את המודולים השונים..
הקטע של ההגדרות של המודולים קצת קשה לי...יש הרבה...ולא הכל מסודר ומובן -
RE: עזרה לגבי קליקרים
@אופיר מסכים ב-100%.
היו צריכים לדעתי להפריד את זה ל-2 הגדרות שונות. -
RE: עזרה לגבי קליקרים
@אA
ההגדרה הזו מסירה את ההודעה של: "שלוחה 15" בכניסה לשלוחה. -
RE: עזרה לגבי קליקרים
תיקיית שלוחת קליקרים (/15)
הגדרת שלוחת קליקרים - ext.ini:
תת-תיקיה /15/001 (משחק 1):
הגדרת קבצי השמעה וקבצי הקלדה - תת-תיקיה /15/001 (משחק 1):
תת-תיקיה /15/002 (משחק 2):
הגדרת קבצי השמעה וקבצי הקלדה - תת-תיקיה /15/002 (משחק 2):
מקווה שזה מה שהתכוונת.
-
RE: עזרה לגבי קליקרים
@אA @אופיר תודה רבה על כל העזרה!
בדקתי את זה ולצערי זה לא עובד- השידור מסתיים לאחר משחק אחד בלבד, ולא עובר למשחק השני.