卷曲到达角度2 http获取请求

时间:2016-08-01 02:33:04

标签: http curl angular twilio restful-authentication

我使用Twilio API验证电话号码,其余api使用命令行执行此操作将是:

curl -XGET "https://lookups.twilio.com/v1/PhoneNumbers/415-701-2311" -u "{AccountSid}:{AuthToken}"

现在我想知道如何使用angular 2实现这个http get请求?到目前为止,我有:

private url_verifyEmail: string = 'https://emailverifierapi.com/v2/'

constructor(private http: Http) {}
verifyPhone(phone: string): Observable<any> {
    let params = new URLSearchParams()
    params.set('AccountSid', `${constants.twilioAcountSID}`)
    params.set('AuthToken', `${constants.twilioAuthToken}`)

    return this.http.get(`${this.url_verifyPhone}${phone}`, {search: params})
                    .map(this.extractResponseData)
                    .catch(this.handleError)
}

但是响应给了我未经授权,说accountSid或authToken是不正确的?任何帮助,将不胜感激。感谢。

2 个答案:

答案 0 :(得分:2)

这可能有效:

constructor(private http: Http) {}
verifyPhone(phone: string): Observable<any> {
    return this.http.get(`https://${constants.twilioAcountSID}:${constants.twilioAuthToken}@lookups.twilio.com/v1/PhoneNumbers/415-701-2311${phone}`)
                    .map(this.extractResponseData)
                    .catch(this.handleError)
}

(IE不支持)

另见https://stackoverflow.com/a/38369923/217408

答案 1 :(得分:1)

Twilio开发者传道者在这里。

我们建议您不要从应用程序的客户端发出API请求。为此,您必须存储或能够从客户端访问您的Twilio帐户凭据(帐户SID和身份验证令牌)。

这意味着攻击者可以窃取您的凭据并接管您的Twilio帐户。

我们的建议是从您的服务器访问API。以下是verify numbers in Node.js using the Lookups API的方法。

让我知道这是否有帮助。