Yahoo messenger API - ошибка при открытии долгоживущего соединения для уведомлений в стиле Comet
Я пытаюсь заставить уведомления Yahoo Messenger (в стиле кометы) работать над моим Android-приложением, но у меня возникла проблема:
У меня есть все жетоны oauth + cookie-файлы IM, я звоню на сервер уведомлений, но он отвечает 403 Bad IM cookie или учетными данными URI
Файл cookie IM, который отправляется, является правильным, потому что он такой же, как тот, который я получил от POST / сеанса.
Вызов:
? POST на: HTTP://rproxy2.messenger.yahooapis.com/v1/pushchannel/user_id с.и.д. =T3qRkifs3BiGXCW4LOSoThi3lG2HvWNagr.mGA- & рандов =-1131022177& Count=10& SEQ = формат 1& = &IM JSON =2x5A0IOr9Js_8er8BgSYUCB9fjB.d20FbKds7NdJdkzWK4u2A92k5dMrM72OetLz9.q70NQCwZpAqafQ5.XM-|QTvOT1rY3ukBC8o4Z0zeRg--&oauth_consumer_key=dj0yJmk9cFNKb2NKbTdINEtFJmQ9WVdrOVpHMW1aVXhKTjJNbWNHbzlNamcyTnpNMU1UWXkmcz1jb25zdW1lcnNlY3JldCZ4PWJh&oauth_nonce=939bc51c9a594c7cbf903643bc10f7d1&oauth_signature_method=PLAINTEXT&oauth_timestamp=1328108171163&oauth_token= А% 3DosG_yqL.hxped9sV4ZMVD2A5vugclvEOSKIw85DOg17vQa8N1jQK6UcGqeLGLXKFalrxnYA_iA_ArmhbN6oJ_CEINGwiq7MWsVjO_vQT5bwhmcBMwBLByhusduuH2BFJw1Zd2w_uDj5fEUVMK9bMDzg.fYEpdm1uK.OgwyYLPCwdkzW0w6ujPpaFAea7gwmsSBYHECzjXm8wduoe1Sw3rpJH4z9PGIe8Hkt3wrbyJpW9BuiU4g6OyE1f8nhzHVkcG_70KQiIR_oV3tP8_l4SCsbbHMvSzlyZjK1V6gJp0Q94fAcfuIWQ1Vd.iD.UZPEyzdzYK.k5Q6pE4H3At8czcXFOpmOL5eUwfbeQEtXePCL1b2v9oY4BxtH_dCUVTMhzQsV.YpKZV.ZRZzK8ThveL5gfGuqYcBZLHwVilQnQWo477XwT10GbvWUzJ2EH4v5m9q.sGMViSIKWjbE2O6YfwhYXAgQMA3d8wQLL7IoY4QC0.IR4T8M_KnZVlKoi_EiED8VuK9h7h3emBZeXoM15rqGk2..HUJQEuIe1d0YbTPEGKdM.fbCcT7_Y0Szzw3abf9b1Xjzm8VkNSKL.LXAmy8c9PyNatUT_hKFmzmWMd1RRYfd8rF7i6i7Ec_cVv06QhwCQyKlEsCQh7UChUe9JykUmiA6JOm4JOpsbTQWS1Iec35zrltc4YwouUlMx.y6JbzB_VYL9jkzeuu & oauth_version = 1,0&oauth_signature=2cd720831677df11508571218aed6c36c9cf2b51%26e57b0e111092b000a43b4ae9c928178fd5da4b9f соединение: поддержания активности
cookie: IM=2x5A0IOr9Js_8er8BgSYUCB9fjB.d20FbKds7NdJdkzWK4u2A92k5dMrM72OetLz9.q70NQCwZpAqafQ5.XM-|QTvOT1rY3ukBC8o4Z0zeg--
Пользователь-агент: Dalvik/1.2.0 (Linux; U; Android 2.2; sdk Build/FRF91)
Хост: rproxy2.messenger.yahooapis.com
Тип контента: application/x-www-form-urlencoded
Длина контента: 0
Сервер отвечает: HTTP/1.1 403 неверный файл cookie IM или учетные данные URI
Подключение: закрыть
Я следовал всем инструкциям из документов, не зная, как заставить его работать.
Благодарю.
2 ответа
Долгоживущие соединения должны быть вызовами GET; см. "API управления уведомлениями (Push-стиля Comet)" здесь.
Ваш HTTP POST пуст (Content-Length: 0), состояние документа:
Note: even though all inputs are optional, the server
still expects an empty POST body (JSON: "{}")
Итак, измените ваш Content-Type на "application/json;charset=utf-8" и включите
{}
как тело HTTP POST.