0

MYOB の accountright Live api v2 を使用しています。ログイン画面に行かずにアクセストークンを取得したい。アクセス トークンを取得するために CURL リクエストを送信すると、myob ログイン画面にリダイレクトされます。それをスキップするにはどうすればよいですか? 私が送信しているリクエストは次の URL です。

https://secure.myob.com/oauth2/v2/authorize

送信されるパラメーターは次のとおりです。

Array
(
    [client_id] => xxxxxxxxxxxxxxxxxxxxxxxx
    [client_secret] => xxxxxxxxxxxxxxxxxxxxx
    [scope] => CompanyFile
    [code] => XXXXXXXXXXXXXX
    [redirect_uri] => http://myappcodeonmydomain.com
    [grant_type] => authorization_code
)
4

2 に答える 2

0

初めての認証について話している場合は、それを行う方法はありません。URL を返して、ユーザーをログイン ページにリダイレクトする必要があります。トークンの更新について話している場合は、簡単です。API 接続の実装方法がわかりません。私はmyob ruby​​ sdkを使用しています。ruby SDK はとても使いやすく、これらすべての認証操作を実行してくれます。:)

于 2016-11-04T07:33:27.720 に答える
0

アクセス トークンを取得するための API への最初の要求の後、更新トークンも提供される必要があります。アクセス トークンは一定期間後に失効するため、更新する必要があります。

Authentication DocumentationRefreshing an Access Tokenセクションから:

アクセス トークンの有効期間は限られています。アクセス トークンを受け取ると、有効期限と更新トークンも受け取ります。アクセス トークンの有効期限が切れると、API へのアクセスに使用できなくなります。そのため、更新をトリガーする必要があります。これを行うには、次のパラメーターを POST します。

'client_id' // your API Key 
'client_secret' // your API Secret
'refresh_token' // your refresh token 
'grant_type' // this should say refresh_token

この URL へ: https://secure.myob.com/oauth2/v1/authorize

注: データは URL クエリ文字列にフォーマットされますが、URL を介して情報を渡すことはありません (GET 要求になります)。 本文にクエリ文字列を渡し、これを https://secure.myobPOSTする必要があります。 .com/oauth2/v1/承認

例として、アクセス トークンと更新トークンをデータベースに保存し、10 分後に予想される有効期限を設定します。それ以降にリクエストが行われる場合は、リフレッシュ プロシージャを呼び出してアクセス トークンを更新し、毎回ログイン プロンプトを表示する必要なく、思い通りに進めることができます。

ログインしているユーザーと、接続先の会社ファイルの GUID を確認するには、少なくとも 1 回表示する必要があります。

于 2016-10-14T05:19:34.543 に答える