Как настроить URL-адрес обратного вызова для приложения Android для получения запросов POST от API? - PullRequest
0 голосов
/ 15 января 2019

Я хотел бы интегрировать интеллектуальные весы Withings в разрабатываемое мной приложение для Android.Я следую инструкциям по началу работы в документации разработчика withings здесь .Для этого мне нужно зарегистрировать мое приложение здесь , и для этого требуется «URL обратного вызова».Вот подробности, которые Withings предоставляет для URL обратного вызова:

Партнерский URL, вызываемый нашей системой для отправки уведомлений через запросы HTTP POST.Убедитесь, что ваш сервер может обработать HTTP-запрос HEAD, который вызывается для проверки правильности вашего URL.

Ваш URL должен:

  • быть действительным URL-адресом, предоставленным в видеURL-кодированная строка.Пожалуйста, обратитесь к справочнику по кодировке URL w3schools, чтобы узнать больше о кодировке URL.

  • не может быть длиннее 255 символов.

  • также не содержат IP или«локальный».Разрешены только порты 80 и 443.

Как настроить URL-адрес обратного вызова для приложения Android, которое сможет получать запросы POST?

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Я пытаюсь сделать что-то подобное, и ниже приведено решение, которое отлично работает для меня. Надеюсь, это поможет.

1) На портале разработчика Withings зарегистрируйте Callback URI как:

https://[yourdomain]/callback

Замените [yourdomain] своим доменом, например:

https://testtest.azurewebsites.net/callback

2) В Android Studio

  • Добавить действие, например «RedirectHereActivity»
  • В strings.xml добавьте свой домен, например:
 <string name="domain">testtest.azurewebsites.net</string>
  • В AndroidManifest.xml добавьте фильтр намерений к «RedirectHereActivity»
<activity android:name=".RedirectHereActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:host="@string/domain"
            android:pathPrefix="/callback"
            android:scheme="https"/>
    </intent-filter>
</activity>

Таким образом, обратный вызов перенаправляет на это действие вместе с кодом доступа.

0 голосов
/ 15 января 2019

Мобильное приложение не может быть URL-адресом обратного вызова, поскольку у него нет статического адреса для обратного вызова сервера API. Например, ваш IP-адрес Android меняется, когда вы переходите с мобильной сети на домашний Wi-Fi или в кафе.

Вам нужен сервер между мобильным приложением и конечной точкой Auth, который может безопасно передавать токены входа в систему. Вы можете найти аналогичный поток, используя такой сервис, как Auth0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...