2017-10-03 22 views
0

私はYammer APIを使用するOutsystemsでアプリケーションを作成しています。問題は、Yammer認証がいくつかの問題を引き起こしていることです。ページの「OnReady」プロパティでは、私は次のコードを追加しました:Yammer認証の問題

yam.getLoginStatus(
function(response) { 
if (response.authResponse) { 
    console.log("logged in"); 
    $parameters.Token = response.access_token.token; 
    console.dir(response); //print user information to the console 
} 
else { 
    yam.platform.login(function (response) { //prompt user to login and authorize your app, as necessary 
    if (response.authResponse) { 
     console.dir(response); //print user information to the console 
     console.dir(response.access_token.token); 
     $parameters.Token = response.access_token.token; 
     console.dir($parameters.Token); 
    } 
    }); 
} 
} 
); 

それが正常に私がにconsole.log()を使用して確認することができていたトークンを返します。さらに、OnClickプロパティに同じコードを持つログインボタンを追加しました。

OnReadyからGet Messages APIコール(エンドポイント:https://www.yammer.com/api/v1/messages.json)を実行しようとすると、401 Unauthorizedアクセスエラーが発生するという問題があります。しかし、さらにOnReadyを使用してログインボタンをクリックすると、API呼び出しが成功します。私は、両方の呼び出しで受け取ったトークンがまったく同じであるため、ユーザーが2回ログインした後に動作するため、理由を理解できません。これを修正する方法はありますか?

P.S.もう片方のエンドポイント(https://api.yammer.com/api/v1/messages.json)を使ってみました。私は同じ問題を抱えています。

答えて

0

コールバック関数内に$resolve()を追加してみてください。この方法でコードは終了するまで待ってから次のjavに進みます