angular 7でハッカーニュースのインターフェースを作成しています。通常、利用可能なパブリックAPIを使用しますが、ログインサービスでは利用できません。
HN 用の OpenSource Android Client アプリによって行われたように、特にこのファイルで POST 呼び出しを実行しようとしています: https://github.com/hidroh/materialistic/blob/master/app/src/main/java/ io/github/hidroh/materialistic/accounts/UserServicesClient.javaを URL https://news.ycombinator.com/loginに追加し、ユーザー名、パスワード、およびリダイレクトをパラメーターとして設定します。
残念ながら、私のリクエストは CORS ポリシーによってブロックされています。
私は Postman でテストを実行しましたが、代わりに完全に動作します。
これは私のコードです:
const payload = {
'acct': 'username',
'pw': 'password',
'goto': 'news'
};
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE, HEAD',
'Access-Control-Allow-Headers': 'X-PINGOTHER, Origin, X-Requested-With, Content-Type, Accept',
'Access-Control-Allow-Access-Control-Max-Age': '1728000',
})
};
console.log('Try login');
this.http.post('https://news.ycombinator.com/login', payload, httpOptions)
.pipe(
tap(
data => console.log(data),
error => console.log(error)
)
).subscribe(result => console.log(result));
どうすれば解決できますか?