رفتن به مطلب
  • 0

نحوه ارتباط با وبسرویس api و تنظیم هدر برای درخواست JSON


bahman_k

سوال

با سلام

برای ارتباط با وب سرویس یه سایت پنل پیامکی از طریق API  نیاز به تنظیم هدر برای REQUEST مورد نظر دارم. 

در قسمت هدر باید این فیلد مقداردهی بشه 

نقل قول

"Authorization: "AccessKey your-api-key"

من با استفاده از شی httpjob  , و ساخت یک json خواستم درخواست رو ارسال کنم اما نحوه تنظیم هدر رو پیدا نکردم.

مشخصات Api که توسط سایت ارائه شده اینه :

http://rest.ippanel.com/v1/messages/patterns/send

{
  "pattern_code": "t2cfmnyo0c",
  "originator": "+9850002",
  "recipient": "+989123459900",
  "values": {
    "name": "Mohamad"

 

لطفا راهنمایی کنید 

اگر نمونه کدی برای ارتباط با api , و تنطیم هدر برای درخواست دارید . ممنون میشم قرار بدید
  }
}

لطفا راهنمایی بفرمایید . در صورت امکان نمونه کدی برای ارتباط با api قرار بدید که نحوه تنظیم هدر برای درخواست داخلش باشه.

بسیار ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

7 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 34 دقیقه قبل، bahman_k گفته است :

با سلام

برای ارتباط با وب سرویس یه سایت پنل پیامکی از طریق API  نیاز به تنظیم هدر برای REQUEST مورد نظر دارم. 

در قسمت هدر باید این فیلد مقداردهی بشه 

من با استفاده از شی httpjob  , و ساخت یک json خواستم درخواست رو ارسال کنم اما نحوه تنظیم هدر رو پیدا نکردم.

توصیه ما برای کار با سمت سرور استفاده از کتابخونه جامع  persianfastnetwork هست که این مورد به راحتی ست میشه. اما برای HttpJob به نظرم به صورت زیر بشه ست کرد. البته امتحان کنید.

HttpJob1.GetRequest.SetHeader("key","value")

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 14 ساعت قبل، محمدرضا شاهپیری گفته است :

توصیه ما برای کار با سمت سرور استفاده از کتابخونه جامع  persianfastnetwork هست که این مورد به راحتی ست میشه. اما برای HttpJob به نظرم به صورت زیر بشه ست کرد. البته امتحان کنید.


HttpJob1.GetRequest.SetHeader("key","value")

 

بسیار ممنونم . مشکل هدر با این دستور حل شد . حالا خطای بد رکوست میده . فکر کنم مربوط به نحوه مقداردهی فیلد values باشه که دارای زیرشاخه هست. اینجور فیلد ها رو نمی دونم چطور باید بیاریم داخل رشته . لطفا راهنمایی کنید

 

"pattern_code": "t2cfmnyo0c",

"originator": "+9850002",

"recipient": "+989123459900",

}:"values"

"name": "Mohamad"

{

 

کدی که من نوشتم :

HttpJob1.PostString("http://rest.ippanel.com/v1/messages/patterns/send","pattern_code=m29y88opq3&originator=+9810009589&recipient=09189101258&Values={verification-code=10225}")
("HttpJob1.GetRequest.SetHeader("Authorization","AccessKey vciNMNAvFwjnJkd_FWMs8qTHOy82K3HznvfExhYJAQ4

 

خروجی :

{
  "status": "BAD_REQUEST",
  "code": "400",
  "message": "Bad request",
  "data": {
    "error": "unknown type"
  }

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 32 دقیقه قبل، bahman_k گفته است :

بسیار ممنونم . مشکل هدر با این دستور حل شد . حالا خطای بد رکوست میده . فکر کنم مربوط به نحوه مقداردهی فیلد values باشه که دارای زیرشاخه هست. اینجور فیلد ها رو نمی دونم چطور باید بیاریم داخل رشته . لطفا راهنمایی کنید

 

دوست عزیز لطفا کدهاتونو توی تگ کد قرار بدین. م اما مشکل هم به نظر تکه کد زیر باشه که درست ارسال نکردین فیلدا رو

Values={verification-code=10225}"

اینجوری تست کنید.

HttpJob1.PostString("http://rest.ippanel.com/v1/messages/patterns/send","pattern_code=m29y88opq3&originator=+9810009589&recipient=09189101258&Values=&verification-code=10225")

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 10 اردیبهشت 1399 در 12:25، محمدرضا شاهپیری گفته است :

دوست عزیز لطفا کدهاتونو توی تگ کد قرار بدین. م اما مشکل هم به نظر تکه کد زیر باشه که درست ارسال نکردین فیلدا رو


Values={verification-code=10225}"

اینجوری تست کنید.


HttpJob1.PostString("http://rest.ippanel.com/v1/messages/patterns/send","pattern_code=m29y88opq3&originator=+9810009589&recipient=09189101258&Values=&verification-code=10225")

 

اینم تست کردم متاسفانه جواب نداد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 9 اردیبهشت 1399 در 20:39، محمدرضا شاهپیری گفته است :

توصیه ما برای کار با سمت سرور استفاده از کتابخونه جامع  persianfastnetwork هست که این مورد به راحتی ست میشه. اما برای HttpJob به نظرم به صورت زیر بشه ست کرد. البته امتحان کنید.


HttpJob1.GetRequest.SetHeader("key","value")

 

کتابخانه persianfastnetwork رو از فروشگاه خرید کردم . البته مبلغ رو پرداخت کردم اما لینک دانلود رو هنوز دریافت نکردم . حالا لطفا نحوه انجام کار رو توسظ این کتابخونه بفرمایید چکار کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام عزیز

لینک دانلود جایی نمیاد.

شما باید از طریق بخش فروشگاه ------------------> مدیریت خرید، کتبخونه رو دریافت کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 9 اردیبهشت 1399 در 20:02، bahman_k گفته است :

با سلام

برای ارتباط با وب سرویس یه سایت پنل پیامکی از طریق API  نیاز به تنظیم هدر برای REQUEST مورد نظر دارم. 

در قسمت هدر باید این فیلد مقداردهی بشه 

من با استفاده از شی httpjob  , و ساخت یک json خواستم درخواست رو ارسال کنم اما نحوه تنظیم هدر رو پیدا نکردم.

مشخصات Api که توسط سایت ارائه شده اینه :

http://rest.ippanel.com/v1/messages/patterns/send

{
  "pattern_code": "t2cfmnyo0c",
  "originator": "+9850002",
  "recipient": "+989123459900",
  "values": {
    "name": "Mohamad"

 

لطفا راهنمایی کنید 

اگر نمونه کدی برای ارتباط با api , و تنطیم هدر برای درخواست دارید . ممنون میشم قرار بدید
  }
}

لطفا راهنمایی بفرمایید . در صورت امکان نمونه کدی برای ارتباط با api قرار بدید که نحوه تنظیم هدر برای درخواست داخلش باشه.

بسیار ممنون

قبل از شروع حتما دو کتابخانه okhttputils و okhttp را همزمان فعال کنید.

البته من تا الان ندیده بودم یک فرمت جیسان برای ارسال ب سرور درخواست بشه. ک اگر اینطور باشه فقط:

j.Download("http://rest.ippanel.com/v1/messages/patterns/send")
j.GetRequest.SetHeader("Authorization","vciNMNAvFwjnJkd_FWMs8qTHOy82K3HznvfExhYJAQ4")

راه دوم:

و به صورت زیر: پارامتر های دانلود رو کامل اضافه کنید. (احتمال کم)

dim j as Httpjob
j.Initialize("j", Me)
j.Download2("http://rest.ippanel.com/v1/messages/patterns/send", Array As String("pattern_code","t2cfmnyo0c","originator","9850002"))
j.GetRequest.SetHeader("Authorization","vciNMNAvFwjnJkd_FWMs8qTHOy82K3HznvfExhYJAQ4")

طبق سایت مرجع:

https://www.b4x.com/android/forum/threads/set-http-request-header-with-okhttputils2.39413/

https://www.b4x.com/android/forum/threads/solved-http-headers-in-request-use-okhttp-and-okhttputils2.65828/

اگر باز هم نشد دقیقا ایراد از نحوه پست کردنه، متد های httpjob رو امتحان کنید، مثلا اول این محتویات جیسان رو داخل یک فایل بریزید و با متد postfile به آدرس ارسال کنید.

و یا به شکل زیر:

	j.PostMultipart("http://rest.ippanel.com/v1/messages/patterns/send" , CreateMap("pattern_code" : "t2cfmnyo0c" , "originator" : "+9850002" , "recipient": "+989123459900" , "values" : CreateMap( "name" : "Mohamad" ) )  , Null)

 

ب امید خدا حل خواهد شد.

ولی دراین مواقع مستندات خود وبسایت ارائه دهنده و وبسایت مرجع رو فراموش نکنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...