CFHTTP Content-Length Header для публикации в Google Voice "API" - PullRequest
1 голос
/ 20 сентября 2010

Привет.

Я пытаюсь отправить быстрое смс через Google Voice, используя их существующий API. Я думаю, что API - это то, что осталось от Великих Центральных дней. У них нет много документации. Вот где я получил мою документацию: http://posttopic.com/topic/google-voice-add-on-development

Я могу авторизоваться с помощью cfhttp и получить правильный ответ. Затем я могу получить значение "_rnr_se", которое требуется для запроса из голосовой команды Google.

Когда я отправляю число, сообщение и необходимые значения (Авторизация и _rnr_se), я получаю сообщение "длина контента" от Google. Но так как это динамическое сообщение с разными полями формы, а не файл, я не уверен, что отправлять как длину содержимого.

Если я просто укажу произвольное значение, такое как «1000», для длины контента, запрос просто сядет, и я никогда не получу ответ. Если я поставлю что-то вроде «0» или «500», то получится 500 - «Внутренняя ошибка сервера».

Есть какие-нибудь идеи о том, как получить правильное значение для длины контента перед тем, как я отправлю сообщение?

<cffunction name="submitSMS">

    <cfhttp url="https://www.google.com/voice/sms/send/" method="post">
        <cfhttpparam type="header" name="Content-Length" value="???">
        <cfhttpparam type="header" name="Authorization" value="GoogleLogin auth=#SESSION.GoogleAuth#">
        <cfhttpparam name="id" value="" type="formfield">
        <cfhttpparam name="phoneNumber" value="+1#params.number#" type="formfield">
        <cfhttpparam name="text" value="#params.smsMessage#" type="formfield">
        <cfhttpparam name="_rnr_se" value="#SESSION.rnr#" type="formfield">
    </cfhttp>

    <cfdump var="#cfhttp.FileContent#"><cfabort>
</cffunction>

1 Ответ

1 голос
/ 21 сентября 2010

Лучший способ сделать это - просто использовать класс google voice java здесь:

http://google -voice-java.googlecode.com

...