SMS Pro - `GET https://eu.api.ovh.com/1.0/sms` resulted in a `403 Forbidden` response: {"message"
... / `GET https://eu.api.ovh.c...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

`GET https://eu.api.ovh.com/1.0/sms` resulted in a `403 Forbidden` response: {"message"

Von
StephaneJ28
Erstellungsdatum 2021-10-04 15:07:03 (edited on 2024-09-04 13:45:43) in SMS Pro

Bonjour,

J'ai implémenté une fonction d'envoie de SMS via l'API OVH pour un client.
Sur le serveur de dev tout fonctionne bien, de l'authentification à l'envoie du SMS.
Par contre en passant sur le serveur de prod j'obtiens l'erreur suivante :

`GET https://eu.api.ovh.com/1.0/sms` resulted in a `403 Forbidden` response: {"message":"This call has not been granted"}

J'utilise le même token en prod que sur le serveur de dev et il n'y a pas de restriction au niveau de l'ip.

La fonction a été implémentée sous Laravel (j'ai installé le package sur les deux serveurs avec la commande "composer require ovh/ovh").

J'ai fait pas mal de tests mais je n'arrive pas à trouver la solution (ni la cause) de mon problème.

En prod et en dev j'arrive à obtenir un retour avec les lignes suivantes (le token est enregistré en base de données) :

$auth = M_OvhApi::orderby('id', 'desc')->first()->get()->toarray();
if(count($auth)==1) {
$api = new Api(
$auth[0]['app_key'],
$auth[0]['app_secret'],
$auth[0]['endpoint'],
$auth[0]['consumer_key']
);
} else {
$api = null;
}
return dd($api);

Cela m'affiche un array qui semble identique sur les deux serveur.

En revanche dès je remplace la dernière ligne par :

$res = $api->get('/sms');

J'obtiens l'erreur indiquée plus haut côté prod (mais pas côté dev).

Si vous avez une piste pour m'aider... Je ne comprends pas pourquoi ça fonctionne sur un serveur et pas sur l'autre.

Merci beaucoup.