長さが1の文字ベクトルに折りたたまれた後、Google AdWords APIの呼び出しで " RAdwords "パッケージ。文字列が関数に渡されたときに切り捨てられました
この文字列の作成は、長さが切り捨てられた特定のポイントに達するまで問題にはなりません。これにより、AdWords API呼び出しでエラーが発生します。ここで
は、エラーが発生することはありません、セットアップのサンプルです:
campaigns <- paste0("Campaign ", seq(1,5))
collapsed_campaigns <- paste0(campaigns, collapse = "','")
campaign_filter1 <- paste("CampaignName IN ['", collapsed_campaigns, "']")
そしてここでは、エラーが発生しますセットアップです:
campaigns <- paste0("Campaign ", seq(1,50))
collapsed_campaigns <- paste0(campaigns, collapse = "','")
campaign_filter2 <- paste("CampaignName IN ['", collapsed_campaigns, "']")
各変数のショーの構造を検査します:
> str(campaign_filter1)
chr "CampaignName IN [' Campaign 1','Campaign 2','Campaign 3',
'Campaign 4','Campaign 5 ']"
> str(campaign_filter2)
chr "CampaignName IN [' Campaign 1','Campaign 2','Campaign 3',
'Campaign 4','Campaign 5','Campaign 6','Campaign 7','Campaign 8','Camp"| __truncated__
私がRAdwordsのwhere句として 'campaign_filter1'を渡すと、expecteとして実行されます。 d。
私はwhere句として「campaign_filter2」を渡すと、私はこのエラーを取得:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><reportDownloadError>
<ApiError><type>QueryError.INVALID_WHERE_CLAUSE</type><trigger></trigger>
<fieldPath></fieldPath></ApiError></reportDownloadError>
に思える「| 切り捨ては」RAdwords関数に渡さ文字通りなっています。私はこの問題を回避機能をループのいくつかの並べ替えを取得し、API 1からデータを呼び出すことができ、明らかに
> str(traffic_data)
Classes ‘data.table’ and 'data.frame': 1 obs. of 1 variable:
$ ads: chr "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<reportDownloadError><ApiError><type>QueryError.INVALID_WHERE_CLAU"| __truncated__
- attr(*, ".internal.selfref")=<externalptr>
:ここ
はRAdwordsに失敗したコールに「traffic_data」の構造を検査した結果でありますしかし、それはひどく非効率的です。 RAdwordsに渡す文字列全体をどのように取得できますか?
100%確実に '|切り詰められた 'があなたの質問に終わっていますか?送信され、確認された実際のクエリテキストを調べましたか?私はそれが非常に驚くべきことを見つけるために尋ねるだけです。それにかかわらず、実際のクエリテキストを調べることは、再生時の特定の構文エラーを明らかにするため有益です。 – joran
...例えば 'RAdwords :: statement'を実行して長いWHERE句を指定するだけで、すべてが明確に挿入され、切り捨てられません。長さにAPI制限がありますか? – joran
ああ、はい、私は今それを見ることができます。 それでは、答えは、私はそのAPIの制限が何であるかを見つけ出し、そこから解決する必要があります。ありがとう! – holemanm